Buscar un programa como tail
o less
que me permita ver mis registros sin líneas que contengan una cadena determinada. Por ejemplo, ver mi syslog sin [UFW BLOCK]
líneas de entrada UFW ( ).
command-line
less
John Gr.
fuente
fuente
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.Respuestas:
La opción de ajuste de patrones de inversión
-v
paragrep
es realmente útil para esto:Esto le mostrará todas las líneas que no contienen
UFW BLOCK
. Comogrep
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 degrep
incluir solo cadenas fijas (Gracias a Zanna y Steeldriver por el consejo sobre esto):Puede facilitar la visualización canalizando la salida a un localizador como
less
:O redirija el resultado a un archivo en su directorio de inicio para verlo más tarde:
fuente
fgrep
comando que es equivalente agrep -F
.También puede usar
sed
eld
comando 's para eliminar las líneas con el patrón de la secuencia:Escapamos
[]
como normalmente denotan una clase de personaje, que significa "emparejar cualquier cosa aquí"fuente
Puede usar cualquier herramienta con capacidades de edición. Ya le han dado soluciones usando
grep
ysed
, aquí hay algunas otras opciones. Todo esto puede ser fácilmente instalado tubos aless
omore
o cualquier otra cosa.Perl
Como se trata de Perl, TIMTOWDI! .
awk
fuente
También puedes usar
awk
:Lo uso cuando tengo más de un "patrón" y no quiero usar dos
grep
como:cuál es la sintaxis:
fuente
grep -Ev "foo|bar"
?-e
para definir múltiples patrones.grep -v -e 'foo' -e 'bar'
Con
less
la&
opción de comando, es posible filtrar para mostrar solo el patrón coincidente deseado como se muestra a continuación,en su caso, si desea que las líneas de filtro
UFW BLOCK
no se muestren en la salida, simplemente puede usar&!
lo siguiente:fuente