Respuestas:
La opción de ajuste de patrones de inversión -v
para grep
es realmente útil para esto:
grep -v 'UFW BLOCK' /var/log/syslog
Esto le mostrará todas las líneas que no contienen UFW BLOCK
. Como grep
utiliza expresiones regulares básicas de forma predeterminada, la inclusión de los corchetes hará que busque cualquiera de los caracteres individuales de 'UFW BLOCK', incluido el espacio. Probablemente terminará sin salida. Si necesita asegurarse de que hay corchetes alrededor de la cadena, puede escapar de ellos \[UFW BLOCK\]
o usar la -F
opción de grep
incluir solo cadenas fijas (Gracias a Zanna y Steeldriver por el consejo sobre esto):
grep -Fv '[UFW BLOCK]' /var/log/syslog
Puede facilitar la visualización canalizando la salida a un localizador como less
:
grep -v 'UFW BLOCK' /var/log/syslog | less
O redirija el resultado a un archivo en su directorio de inicio para verlo más tarde:
grep -v 'UFW BLOCK' /var/log/syslog > ~/filtered_syslog
fgrep
comando que es equivalente a grep -F
.
Puede usar cualquier herramienta con capacidades de edición. Ya le han dado soluciones usando grep
y sed
, aquí hay algunas otras opciones. Todo esto puede ser fácilmente instalado tubos a less
o more
o cualquier otra cosa.
Perl
perl -ne 'print unless /\[UFW BLOCK\]/' /var/log/syslog
Como se trata de Perl, TIMTOWDI! .
perl -pe '$_="" if /\[UFW BLOCK\]/' /var/log/syslog
perl -ne '/\[UFW BLOCK\]/ || print' /var/log/syslog
perl -ne 'print if !/\[UFW BLOCK\]/' /var/log/syslog
perl -ne '!/\[UFW BLOCK\]/ && print' /var/log/syslog
perl -ne '/\[UFW BLOCK\]/ ? "" : print' /var/log/syslog
awk
awk '!/\[UFW BLOCK\]/' file
También puedes usar awk
:
awk '!/PATTERN/' log
Lo uso cuando tengo más de un "patrón" y no quiero usar dos grep
como:
... | grep -v foo | grep -v bar
cuál es la sintaxis:
awk '!/PATTERN/ && !/PATTERN2/' log
grep -Ev "foo|bar"
?
-e
para definir múltiples patrones. grep -v -e 'foo' -e 'bar'
less
ofrece la posibilidad de filtrar las líneas mostradas después de un patrón de expresiones regulares. Puede usar esta función escribiendo&
seguido del patrón, y puede revertirlo escribiendo&
solo.