Я хотел бы удалить каждый файл, но сохранить структуру папок. Есть ли способ?
ПРИМЕЧАНИЕ: (я использую GNU bash 4.1.5).
bash
bash-script
Том Брито
источник
источник
Ответы:
Попробуй это:
Это удалит каждый отдельный файл, кроме каталогов, ниже текущего рабочего каталога. Будьте предельно осторожны с этой командой.
Если версия
find
на вашем компьютере поддерживает это, вы также можете использоватьисточник
find
никогда не видит кавычки. Он просто видит{}
маркер в качестве аргумента.-exec command {} +
" и это "-exec command ;
". Я использовал\;
в прошлом просто никогда не {'}.find
. Я думаю, что шаблоны предназначены для того, чтобы показать, какие аргументыfind
нужны команде, и не беспокоиться ни о чем, связанном с оболочкой.Вы можете использовать команду,
find
чтобы найти каждый файл, но сохранить структуру каталогов:В соответствии с вопросами и ответами Unix и Linux под названием: gnu находит и маскирует {} для некоторых оболочек - что? экранирование
{}
с одиночными галочками ('
) больше не требуется для современных оболочек типа Bash.источник
Простой способ рекурсивного удаления всех обычных файлов в текущем каталоге и подкаталогах:
Только в zsh есть классификаторы с подстановкой для сопоставления файлов по типу. Однако
rm
команда не работает с каталогами, поэтому в bash вы можете использоватьЭто не работает для команд, кроме как
rm
. В общем, вы можете использоватьfind
:или если ваш
find
не поддерживает-delete
:источник
У меня было похожее требование удалить файлы из пути и его подкаталогов (фильтрация по времени) без удаления структуры каталогов.
И я использовал следующий формат, который работал для меня.
find / test123 / home / test_file_hip / data / nfs -mtime +6 -type f -exec rm {} \;
Синтаксис: find (путь к файлу) -mtime (больше или меньше дней) -type f -exec rm {} \;
-type: указать тип файла "f" для каталога "d". -exec: выполнить команду rm: удалить {}: вывод команды find
Примечание. Проверьте его перед использованием. Пожалуйста, не стесняйтесь исправлять или обновлять, если я что-то пропустил.
источник
find ... rm
структура уже была рассмотрена, я не уверен, что это ценный вклад в качестве нового ответа на этот вопрос.