Фигура, в какое время машина была приостановлена

Вы надеетесь удалить файл, который не содержит даже единственное ключевое слово? (Другими словами, сохраните файлы, которые содержат по крайней мере одно ключевое слово?) Следующие подарки компактное решение с помощью GNU grep:

rm $(find . -type f -exec grep -LwE 'keyword1|keyword2|keyword3' {} +)

В вышеупомянутом, find . -type f -exec grep -LwE 'keyword1|keyword2|keyword3' {} + перечисляет название всего файла, не содержащего любое ключевое слово. Здесь, три аргумента используются с grep:

  1. w указывает, что все слово должно быть распознано (например, grep -w get file_name указывает, что все слово "добирается", должен быть подобран в файле и не сказать, забыть).
  2. E говорит grep соответствовать для нескольких шаблонов. В этом случае Ваши ключевые слова являются шаблонами.
  3. L печатает имена файлов, не соответствующие любому шаблону. Заключить в кавычки из man страницы:

- L, - уникальный файлами Подавляют нормальный вывод; вместо этого распечатайте название каждого входного файла, из которого обычно не печатался бы никакой вывод. Сканирование остановится на первом соответствии.

Так, однажды find возвращает список имен файлов, можно удалить их использование rm.

Поскольку Вы знаете, rm удалил бы файлы. Так, быть осторожным при выполнении вышеупомянутой команды. Сначала Вы могли бы просто выполниться find управляйте и вручную проверьте, что это работает согласно Вашему требованию.

2
01.04.2015, 01:23
1 ответ

Напечатано в журнале. Вы можете прочитать его с routeCttl | Греп приостановлен :

Mar 31 15:28:29 Shiv systemd[1]: Started Suspend.
3
27.01.2020, 22:05

Теги

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