SHELL - Удаление файлов в домашнем каталоге и его подкаталогах в одной командной строке

Я хочу найти все файлы, содержащие строку «красный», в моем домашнем каталоге и во всех его подкаталогах в одной командной строке. Я использую терминал на Mac. Это то, что у меня есть до сих пор:

$ cd && rm -ri *red*

Я надеялся, что мой аргумент -r будет рекурсивно проходить по всем каталогам, начиная с домашнего каталога, но это не совсем работает. Есть ли более простой способ удалить определенные файлы в каталоге и его подкаталогах? Спасибо.


person Community    schedule 17.05.2017    source источник


Ответы (1)


Есть несколько способов сделать это. Например:

find ~ -name "*red*" -type f | xargs rm

Часть find будет рекурсивно искать все файлы (-type f), содержащие красную строку (-name "*red*") в вашем домашнем каталоге (~), и выводить список файлов. Затем мы передаем список команде xargs, которая будет вызывать rm для каждого файла.

person Jack Shainsky    schedule 17.05.2017