Menu
Coddy logo textTech

Вопросительный символ подстановки

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

Подстановочный знак вопроса ? соответствует ровно одному символу. В отличие от *, который соответствует любому количеству символов, ? более точен — каждый ? представляет собой позицию одного символа.

Например, если у вас есть следующие файлы:

file1.txt
file2.txt
file3.txt
file10.txt
notes.txt

Использование ? для поиска файлов с ровно одним символом после file:

ls file?.txt

Вывод:

file1.txt
file2.txt
file3.txt

Обратите внимание, что file10.txt не соответствует, так как 10 — это два символа, а не один.

Использование нескольких вопросительных знаков:

Каждый ? соответствует ровно одному символу, поэтому их можно объединять в цепочку:

ls file??.txt   # соответствует file10.txt, file23.txt и т. д.

Смешивание с другими символами:

ls ???.txt      # соответствует любому .txt файлу с именем ровно из 3 символов
ls img_?.jpg    # соответствует img_1.jpg, img_2.jpg, но НЕ img_10.jpg

Когда использовать ? против *:

  • Используйте ?, когда вы точно знаете, сколько символов варьируется
  • Используйте *, когда количество варьирующихся символов неизвестно
challenge icon

Задание

Новичок

Используйте подстановочный знак ?, чтобы вывести только те файлы, которые соответствуют file?.txt — файлы с именем file, за которым следует ровно один символ, и заканчивающиеся на .txt.

Подсказка: file10.txt не должен отображаться в результатах, так как 10 — это два символа. Подстановочный знак ? соответствует только одному символу за раз.

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

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

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

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