как удалить файл из папки и подпапки одной командой linux - PullRequest
0 голосов
/ 07 октября 2019

Как удалить файл из папки и подпапки в настоящее время, используя приведенную ниже команду для удаления журналов, но я хочу удалить файл журналов в папке и подпапке в Linux.

В настоящее время я делаю, введите каждую папку и удалите журнал за определенный год. ,Есть ли какая-либо команда для удаления того же файла из папки и подпапки в Linux

volumes/abc/http.log2019-07-09
volumes/cdf/http.log2019-07-09

Я хочу одну команду для удаления файлов всех папок в Linux

В настоящее время используется команда ниже для удаления файла

sudo rm http.log2019*

Ответы [ 2 ]

0 голосов
/ 07 октября 2019

Вы можете использовать команду «найти» с опцией «удалить». Это удалит файлы с указанным именем в текущем каталоге и подкаталогах.

find . -name "http.log2019*" -delete
0 голосов
/ 07 октября 2019

Вы можете использовать команду find для вывода списка всех файлов, соответствующих шаблону, а затем выполнить итерацию по списку, чтобы удалить каждый из файлов по отдельности.

find <directory_path> -regex '.*http.log2019[^/]*'

Возвращает файлы в указанном каталоге и его подкаталогах вместе с их относительными путями. Теперь вы можете использовать команду rm над списком, чтобы удалить их все. Предполагая, что ваш путь к каталогу /Volume/, вы можете сделать следующее:

for file_path in `find /Volume/ -regex '.*http.log2019[^/]*'`; do sudo rm $file_path; done

Если вы также хотите удалить каталоги, соответствующие этому шаблону, в текущем каталоге и его подкаталогах, то включите параметр -rс rm.

...