У меня есть коллекция текстовых файлов, содержащих / не фразу (основной файл B).

Тогда я попробовал это:

sudo find / -type f -name core | xargs file | grep 'B core file' | sed 's/:ELF.*//g' | xargs rm -f 

Удалить определенные файлы с фразой "B core file".

Но эта команда не сработает.

Я надеюсь на решение. Большое спасибо.

2 ответа2

1

Только команда find будет запущена с правами root. Rm будет запущен с вашим идентификатором пользователя, и из-за этого произойдет сбой. Поместите всю команду в скрипт и запустите скрипт с помощью sudo.

Вы также можете использовать дополнительное sudo для каждой команды, которая обращается к файлам, которые, вероятно, не доступны для чтения или записи для вас:

sudo find / -type f -name core | xargs sudo file | sudo grep 'B core file' | sed 's/:ELF.*//g' | xargs sudo rm -f 
0

Это выглядит слишком сложно.

пытаться:

grep -l 'Базовый файл B' * | XARGS RM

Он удалит файлы, содержащие «основной файл B», из каталога, в котором вы находитесь, при запуске этого.

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