2015-04-14 5 views
1

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

sudo find -name file-name -exec rm -R {} \; 

Я попытался удалить после Grep и он не работает

sudo find -name file-name | grep keyword -exec rm -R {} \; 

как я -exec после Grep

+0

Что вы хотите достичь с этим? Вы хотите удалить файлы, содержащие ключевое слово, файлы, чье имя содержит ключевое слово, или файлы, на которые вы найдете списки имен файлов, из которых вы хотите извлечь имена удаляемых файлов? – Wintermute

+0

Является ли это только тем, что находит 'sudo find -exec rm -R {} \;' очень опасно? Особенно играешь с ним? – chw21

+0

lol это опасно, но если вы не живете на краю, вы занимаете слишком много места. –

ответ

1
sudo find . -name file-name -exec grep keyword '{}' \;-print | xargs rm -R 
+0

Что делает '{}' и как xargs знают, что rm –

+0

'{}' - это список результатов найти. -name имя_файла и grep будут выполняться поверх него. Ввод xrags поступает из канала (|), поэтому он знает, что должно быть удалено. – Steephen

+0

Это будет отправлять выходные данные grep в xargs rm -R, это не то, что хочет OP. – nos

Смежные вопросы