Используя 'находку' для рекурсивного поиска и удаляют

2
03.10.2016, 04:53
1 ответ

Можно использовать -delete опция, если Ваша версия находки поддерживает его или можно использовать rm в -exec опции.

find -iname '*libre*' -delete       # GNU find
find -iname '*libre*' -exec rm {} + # POSIX

Обратите внимание, что необходимо заключить шаблон в кавычки. Это препятствует тому, чтобы оболочка развернула его до того, чтобы быть переданным команде находки.

5
27.01.2020, 21:57
  • 1
    я не уверен, хочет ли OP также прописные буквы на имя (данным примером). –  vonbrand 26.01.2013, 07:46
  • 2
    @vonbrand мое понимание является OP требуемый "Office Libre Word' для соответствия, но использовало некоторый метод удаления (такого как xargs или для цикла), который повредился на файлах с пробелами. –  jordanm 26.01.2013, 07:49
  • 3
    @jordanm да Вы определили мое реальное положение. Хорошо так - удаляют флаг, работавший даже для пробелов. Как я могу также передать расширение файла этому поиску, я имею в виду поиск Весов и *.desktop –  nightcrawler 26.01.2013, 08:11
  • 4
    -iname не POSIX. -delete не POSIX, но не эксклюзивен к GNU find. –  Stéphane Chazelas 26.01.2013, 09:58
  • 5
    Также отметьте это -delete удаляет (непустые) каталоги, в то время как rm не был бы. -delete (и с GNU и с FreeBSD находит, по крайней мере), подразумевает -depth. –  Stéphane Chazelas 26.01.2013, 10:42

Теги

Похожие вопросы