examples - Coincidencia negativa utilizando grep(líneas de coincidencia que no contienen foo)
grep windows (3)
En su caso, presumiblemente no desea utilizar grep, sino que agregue una cláusula negativa al comando de búsqueda, por ejemplo
find /home/baumerf/public_html/ -mmin -60 -not -name error_log
Si desea incluir caracteres comodín en el nombre, deberá evitarlos, por ejemplo, para excluir archivos con el sufijo .log:
find /home/baumerf/public_html/ -mmin -60 -not -name /*.log
He estado tratando de resolver la sintaxis de este comando:
grep ! error_log | find /home/foo/public_html/ -mmin -60
o
grep ''[^error_log]'' | find /home/baumerf/public_html/ -mmin -60
Necesito ver todos los archivos que se han modificado, excepto los llamados error_log
.
He leído sobre esto aquí , pero solo encontré un patrón not
regex.
También puede usar awk
para estos fines, ya que le permite realizar verificaciones más complejas de una manera más clara:
Líneas que no contienen foo
:
awk ''!/foo/''
Líneas que no contienen ni foo
ni bar
:
awk ''!/foo/ && !/bar/''
Líneas que no contienen ni foo
ni bar
pero que contienen foo2
o bar2
:
awk ''!/foo/ && !/bar/ && (/foo2/ || /bar2/)''
Y así.
grep -v
es tu amigo
grep --help | grep invert
-v, --invertir-coincidir seleccionar líneas no coincidentes
También puedes ver el -L
relacionado (el complemento de -l
).
-L, - archivos sin coincidencia solo imprimen los nombres de ARCHIVOS que no contienen ninguna coincidencia