чисел - grep число больше




Отрицательное сопоставление с использованием grep(строки соответствия, которые не содержат foo) (2)

Я пытаюсь выработать синтаксис для этой команды:

grep ! error_log | find /home/foo/public_html/ -mmin -60

или же

grep '[^error_log]' | find /home/baumerf/public_html/ -mmin -60

Мне нужно увидеть все файлы, которые были изменены, за исключением тех, которые были названы error_log .

Я читал об этом здесь , но нашел только один шаблон not реплик.


В вашем случае вы, по-видимому, не хотите использовать grep, но вместо этого добавляете отрицательное предложение команде find, например

find /home/baumerf/public_html/ -mmin -60 -not -name error_log

Если вы хотите включить подстановочные знаки в имя, вам придется избегать их, например, для исключения файлов с суффиксом .log:

find /home/baumerf/public_html/ -mmin -60 -not -name \*.log

Вы также можете использовать awk для этих целей, поскольку он позволяет выполнять более сложные проверки более четко:

Строки, не содержащие foo :

awk '!/foo/'

Строки, не содержащие ни foo ни bar :

awk '!/foo/ && !/bar/'

Строки, не содержащие ни foo ни bar но содержащие либо foo2 либо bar2 :

awk '!/foo/ && !/bar/ && (/foo2/ || /bar2/)'

И так далее.