Я знаком с тем, как решить эту проблему с помощью PHP, однако мне хотелось бы попрактиковаться в написании сценариев на bash.
Задача - удалить все файлы в папке, которая сама содержит подпапки (с файлами). Обычно это файлы .pdf (или какой-либо вариант: PDF, Pdf, pDf и т. Д.), Однако иногда могут быть другие типы файлов, включая расширения, которые мне неизвестны в настоящее время.
Вот что у меня есть на данный момент. Он повторяет имя файла, но если я введу rm $ i, система вернет файл, который не найден в каждом файле.
for i in `ls -bRC1 /foo/temp_folders/* ` ; do echo $i ; rm $i ; done
Как мне принудительно указать абсолютный путь при выдаче rm $ i?
Пер Зоредаш ... почему бы и нет:
find /foo/temp_folders/ -type f -iname * -exec rm {} +
Изменить: изменил конечный \; на + для производительности, как указано Вот
find -exec будет медленным на большом количестве файлов. Я бы посоветовал:
find /foo/temp_folders -type f -print0 | xargs -0 rm