Удалите файлы, если содержание не соответствует шаблону

Я не знаком с AIX, но имею Вас, попробовал w или e форматирование аргументов ps?

ps uwx | grep 1482
# or 
ps uex | grep 1482
3
18.05.2011, 06:48
3 ответа

Это должно работать с помощью grep:

grep -L bluecar *.html | xargs rm
4
27.01.2020, 21:08
  • 1
    Это не работает на файлы с пробелами на имена. –  php-coder 17.05.2011, 07:23
  • 2
    Это легко фиксируется для работы с именами файлов с пробелами, по крайней мере, с инструментами GNU: grep -ZL bluecar *.html | xargs -0 rm. Я отредактировал бы его в, но я вижу, @php-coder уже вставляет ответ с этим... –  derobert 28.11.2012, 19:03
  • 3
    не будет это удалять тех, которые действительно содержат bluecar? –  amphibient 12.03.2013, 22:53
  • 4
    @amphibient-L - уникальный файлами –  Chris J 13.03.2013, 00:55

С GNU grep/xargs Вы может использовать

grep -LZ -- str *.html | xargs -r0 rm
5
27.01.2020, 21:08

find инструмент является обычным для использования.

find . -name "*.html" \( -exec grep -q bluecar {} \; -o -exec rm {} \; \)

или

find . -name "*.html" ! -exec grep -q bluecar {} \; -exec rm {} \;

Но попробуйте его на копии сначала...

4
27.01.2020, 21:08
  • 1
    Это действительно берет только аргументы, которые возвратили код успеха от первого должностного лица и выполнили их во втором, или он просто выполняет полный список аргументов через оба должностных лиц? –  Caleb 17.05.2011, 12:54
  • 2
    @Caleb: Да, -exec истинная эквивалентность, которую команда возвращает 0, и find короткое замыкание булевых операторов. –  Gilles 'SO- stop being evil' 17.05.2011, 14:40
  • 3
    Есть ли некоторая причина использовать -exec rm … вместо -delete? -delete обычно намного более эффективно (сохраняет ветвление/должностное лицо на файл). –  derobert 28.11.2012, 19:05
  • 4
    @derobert Никакая причина кроме я не уверен, что более старые версии находки имеют то действие и мою привычку только к использованию должностного лица. –  Keith 28.11.2012, 20:16

Теги

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