Menu
Coddy logo textTech

Скобочные символы подстановки

Часть раздела Основы путешествия по 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
challenge icon

Задание

Новичок

Используйте дикий символ в скобках с диапазоном, чтобы вывести только 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

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

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

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

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