Скобочные символы подстановки
Часть раздела Основы путешествия по Terminal на Coddy — урок 27 из 82.
Джокер в квадратных скобках [] соответствует ровно одному символу из конкретного набора или диапазона символов, который вы определяете внутри скобок.
Например, если у вас есть эти файлы:
file1.txt
file2.txt
file3.txt
file4.txt
file5.txtСопоставить только файлы с 1, 2 или 3:
ls file[123].txtВывод:
file1.txt
file2.txt
file3.txtИспользование диапазонов внутри скобок:
Вместо перечисления каждого символа вы можете использовать диапазон с дефисом -:
ls file[1-3].txt # same as [123]
ls file[a-z].txt # matches any lowercase letter
ls file[A-Z].txt # matches any uppercase letter
ls file[0-9].txt # matches any single digitОтрицание скобочного шаблона:
Используйте ! или ^ в начале, чтобы сопоставить любой символ не входящий в набор:
ls file[!45].txt # matches file1, file2, file3 but NOT file4 or file5
ls file[^45].txt # same resultКомбинирование наборов символов:
ls file[1-3a-c].txt # соответствует file1, file2, file3, filea, fileb, filecЗадание
НовичокИспользуйте дикий символ в скобках с диапазоном, чтобы вывести только file1.txt, file2.txt и file3.txt — исключая file4.txt и file5.txt.
Подсказка: Используйте синтаксис диапазона
[1-3]внутри скобок. Это более элегантно, чем перечисление каждого символа отдельно как[123].
Шпаргалка
Символ подстановки в квадратных скобках [] соответствует ровно одному символу из конкретного набора или диапазона символов, заданных внутри скобок.
Соответствие конкретным символам:
ls file[123].txt # matches file1.txt, file2.txt, file3.txtИспользование диапазонов:
ls file[1-3].txt # matches digits 1 through 3
ls file[a-z].txt # matches any lowercase letter
ls file[A-Z].txt # matches any uppercase letter
ls file[0-9].txt # matches any single digitОтрицание шаблона:
Используйте ! или ^ в начале, чтобы соответствовать любому символу, не входящему в набор:
ls file[!45].txt # excludes file4.txt and file5.txt
ls file[^45].txt # same resultКомбинирование наборов символов:
ls file[1-3a-c].txt # matches file1, file2, file3, filea, fileb, filecПопробуйте сами
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Каталоги
Создать каталогСкопировать каталогПереместить и переименовать каталогУдалить каталогИтог - Операции с каталогами7Содержимое файлов
Head и TailПодсчёт словКоманда sortКоманда uniqОсновы grepGrep с флагамиПовторение - Текстовый детектив10Проект анализатора логов
Обзор проектаПросмотр файла лога2Навигация
Вывод текущей рабочей директорииСписок файловСмена директорииАбсолютные и относительные путиДомашняя и корневая директорииИтог - Найди свой путь8Перенаправление
Стандартный выводПерезапись в файлДописывание в файлСтандартный вводСтандартная ошибкаПовторение - Сборщик логов11Права доступа
Понимание прав доступаЧтение прав доступаChmod с числамиChmod с символамиВладение файламиПовторение - Заблокируйте доступ14Проект скрипта резервного копирования
Обзор проектаПолучение пути к источнику3Файлы
Создать файлПрочитать файлСкопировать файлПереместить и переименовать файлУдалить файлПовторение - Операции с файлами6Символы подстановки и шаблоны
Звёздный символ подстановкиВопросительный символ подстановкиСкобочные символы подстановкиКомбинирование символов подстановкиПовторение - выборочные операции9Каналы
Что такое каналЦепочка двух командЦепочка нескольких командКанал с grepИтог - Конвейер данных