Используйте find в терминале, чтобы удалить каталоги и файлы с тем же параметром поиска

16

Если я введу следующее в Терминал, он удалит все файлы, которые соответствуют параметру поиска:

sudo find . -type f -name "*Xilisoft*" -exec rm -rf {} \;

Тогда, если я начну снова и наберу его dвместо, fон удалит все каталоги

sudo find . -type d -name "*Xilisoft*" -exec rm -rf {} \;

Как мне заставить его удалить тип fи dодним махом?

Даниэль-Джеймс W
источник

Ответы:

23

Вы можете предоставить несколько -typeопций -o, например, -type f -o -type dв одной команде.

find . -name "*Xilisoft*" -type f -o -name "*Xilisoft*" -type d

-oсоответствует всем параметрам, поэтому -nameв приведенной выше команде указывается дважды.
Обратите внимание, что find может удалить результаты, используя -deleteвместо -exec rm -rf {}.

Grg
источник
3
Я не знал об этом -deleteварианте, так что это полезная информация.
Даниэль-Джеймс W