Menu
CoddyTech

Комбинирование символов подстановки

Часть раздела Основы путешествия по Terminal на Coddy. Урок 28 из 82.

Настоящая сила подстановочных знаков проявляется, когда вы объединяете их. В одном шаблоне можно сочетать *, ? и [], чтобы очень точно находить файлы.

Для данной файловой системы:

photo_1.jpg
photo_2.jpg
photo_10.jpg
photo_1.png
photo_2.png
report_1.txt
report_2.txt
notes.txt

Сочетание * и []:

Выведите список всех файлов изображений (как .jpg, так и .png):

ls *.{jpg,png}    # с использованием раскрытия фигурных скобок
ls *.[jp]*        # соответствует .jpg, .png, .jpeg и т. д.

Сочетание ? и []:

Выведите список файлов фотографий с одной цифрой в имени и расширением из трёх букв:

ls photo_[0-9].???   # соответствует photo_1.jpg, photo_2.jpg, photo_1.png и photo_2.png

Объединяем все три условия:

Найди файлы с одной цифрой, расширение которых начинается с t:

ls *_[0-9].t??     # соответствует файлам report_1.txt и report_2.txt

Найдите файлы, которые начинаются с любой буквы, за которой следуют определённые символы:

ls [pr]*_?.txt    # начинается с p или r, затем любые символы, затем подчёркивание, один символ, .txt

Использование подстановочных знаков с другими командами:

Переместите все фотографии в формате jpg с однозначным номером в папку:

mv photo_[0-9].jpg archive/

Удалите файлы .log внутри каждой папки на один уровень ниже (шаблон */ не охватывает более глубокие вложенные папки):

rm */*.log
challenge icon

Задание

Легко

Используй комбинацию подстановочных знаков, чтобы вывести список только файлов фотографий .jpg с номером, состоящим из одной цифры, например photo_1.jpg и photo_2.jpg, но не photo_10.jpg и не файлы .png.

Подсказка: Объедини фиксированный текст photo_, диапазон в квадратных скобках для одной цифры и расширение .jpg в один шаблон.

Попробуйте сами

Терминал
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Песочница Terminal