1

Я пытаюсь удалить все файлы в иерархии каталогов, которые содержат определенную строку внутри файла (не имя файла, это содержимое файла).

Я могу перечислить все имена файлов, которые имеют строку в файле, используя 'grep -r -l mystringlooking for'.

Но как я могу удалить все файлы, возвращаемые grep? Я пытаюсь это на Ubuntu.

Спасибо.

1 ответ1

4

grep -r -I -l 'yourstring' . | xargs rm

Флаг -l выводит путь к соответствующим файлам. | передает его следующей команде, которая называется xargs. xargs выполняет свой аргумент (rm) для каждой строки, получаемой через STDIN (предоставляется конвейером).

будь осторожен в этом. Г-н не спросит «ты уверен», и нет восстановленного.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .