К содержимому
Claude Code с 0:полный курс
Уровень 3 · Поиск и потоки 4 мин

Маски имён: * и ?

Учимся одной короткой записью описывать сразу много файлов. Знаки * и ? позволяют сказать «все .txt» вместо перечисления каждого имени.

До этого момента ты искал и открывал файлы по точному имени. Но что, если файлов десятки и нужно охватить их разом — например, «все текстовые файлы»? Перечислять каждое имя вручную утомительно. Тут на помощь приходят маски имён.

Звёздочка * — «любая часть имени»

Знак * заменяет любое число любых символов — хоть ноль, хоть сотню. Запись *.txt читается так: «что угодно, а в конце .txt». Под неё попадут и report.txt, и notes.txt, и просто a.txt.

Почему это удобно? Ты описываешь не конкретный файл, а правило, по которому система сама подбирает все подходящие имена. Одна короткая запись — и весь набор файлов у тебя в руках.

Знак вопроса ? — «ровно один символ»

? строже: он заменяет ровно один любой символ — не больше и не меньше. Например, маска file?.txt подойдёт под file1.txt и fileA.txt, но не подойдёт под file12.txt (там два символа) и не под file.txt (там ни одного).

Запомни просто: * — «сколько угодно», ? — «ровно один». Их можно даже смешивать: data?.* найдёт data1.csv, data9.txt и так далее.

Применим маску в поиске

Маски особенно полезны вместе с командой поиска. Запиши маску в кавычках:

find . -name "*.txt"

Кавычки тут важны: без них оболочка может «раскрыть» звёздочку сама ещё до запуска команды, и поиск отработает не так, как ты ждёшь. Поэтому маску для find всегда берём в двойные кавычки.

Попробуй

В папке лежат report.txt, report2.txt, notes.md и data.csv. Найди только текстовые файлы:

find . -name "*.txt"

Команда покажет report.txt и report2.txt, а notes.md и data.csv пропустит — они под маску не подходят. Подсказка под терминалом, если что.

Проверь себя

Отвечено 0/3
Режим:

Что заменяет знак `*` в маске?

Сколько символов заменяет `?`

Какая маска найдёт все файлы с расширением .txt?

Выполни задание в терминале и ответь на вопросы, чтобы завершить урок.

📝 Мои заметки

Сохраняется автоматически в этом браузере · видно на странице «Заметки».

Задание

Найди все файлы с расширением .txt с помощью маски: find . -name "*.txt".

терминал
Безопасный тренажёр терминала. Введи команду и нажми Enter.
Не знаешь, что доступно? Набери help.
~ $

Tab дополнить · прошлые · Ctrl+L очистить · help команды

  • Не выполнено: Поиск по маске
  • Не выполнено: Найдены .txt файлы

Листай уроки клавишами · поиск по ⌘K