Удаление нескольких файлов с использованием подстановочных знаков (wildcards)
Часто возникает необходимость удалить сразу несколько файлов. Linux предоставляет подстановочные знаки (wildcards), чтобы упростить эту задачу. Подстановочные знаки - это специальные символы, которые могут представлять один или несколько символов в имени файла.
Рассмотрим наиболее распространенные подстановочные знаки:
*
(звездочка): Соответствует любому количеству символов (в том числе и нулю).
?
(вопросительный знак): Соответствует ровно одному символу.
[]
(квадратные скобки): Соответствует любому символу, находящемуся внутри скобок.
Сначала проверим текущие файлы в каталоге old_predictions
:
ls ~/project/old_predictions
Вы должны увидеть следующее:
prediction-02.txt prediction-03.txt prediction-04.txt prediction-05.txt
Теперь удалим файлы prediction-02.txt
, prediction-03.txt
и prediction-04.txt
сразу. Мы можем использовать сопоставление шаблонов с фигурными скобками {}
, чтобы указать несколько вариантов:
rm ~/project/old_predictions/prediction-{02..04}.txt
В этой команде используется запись диапазона {02..04}
, которая расширяется до 02, 03, 04
. Перед выполнением команда обрабатывается оболочкой (shell), и в итоге выполняется следующая команда:
rm ~/project/old_predictions/prediction-02.txt ~/project/old_predictions/prediction-03.txt ~/project/old_predictions/prediction-04.txt
Другой распространенный подход - использование звездочки в качестве подстановочного знака. Например, если вы хотите удалить все файлы прогнозов, вы можете использовать следующую команду:
## Это только пример - не запускайте эту команду сейчас
## rm ~/project/old_predictions/prediction-*.txt
Проверим, какие файлы остались в каталоге:
ls ~/project/old_predictions
Теперь вы должны увидеть только следующее:
prediction-05.txt
Это показывает, что три файла были успешно удалены, и остался только файл prediction-05.txt
.