GNU находит логические операторы с помощью -print

  1. Проверка наличия пробелов или специальных символов (, например CR )в конце строки журнала; попробуйте включить их, временно закрыв свой паттерн с помощью .*$.
  2. Проверьте /etc/logcheck/violations.dи /etc/logcheck/cracking.dна соответствие шаблонам, эти каталоги имеют приоритет над /etc/logcheck/ignore.d.

egrep -f /etc/logcheck/DIR/FILE— хороший инструмент для проверки ваших правил.

0
29.01.2021, 18:19
2 ответа

Из Спецификация Find(GNU Find manual имеет аналогичную формулировку):

expression -o expression
Alternation of primaries; the OR operator. The second expression shall not be evaluated if the first expression is true.

  • dir_a

    Поскольку -nameсовпадает, а -pruneвсегда истинно, \( -name dir_a -prune \)истинно, таким образом, Find не попадает в -printдля dir_a.

  • file_1

    Не учитывается поиском, потому что dir_aобрезан, поэтому не печатается.

  • file_2

    Тест -nameне соответствует, поэтому \( -name dir_a -prune \)является ложным, и поиск достигает основного -print.

3
18.03.2021, 22:33

Ваше выражение эффективно:

(Сопоставьте обрезанный каталог _a, но ничего с ним не делайте )ИЛИ (напечатайте все остальное)

Если вы хотите, чтобы что-то слева было напечатано, вам нужно включить -print в круглые скобки.

1
18.03.2021, 22:33

Теги

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