Buscar un programa como tailo lessque 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

lessofrece 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
-vparagrepes realmente útil para esto:Esto le mostrará todas las líneas que no contienen
UFW BLOCK. Comogreputiliza 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-Fopción degrepincluir 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
fgrepcomando que es equivalente agrep -F.También puede usar
sedeldcomando '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
grepysed, aquí hay algunas otras opciones. Todo esto puede ser fácilmente instalado tubos alessomoreo 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
grepcomo:cuál es la sintaxis:
fuente
grep -Ev "foo|bar"?-epara definir múltiples patrones.grep -v -e 'foo' -e 'bar'Con
lessla&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 BLOCKno se muestren en la salida, simplemente puede usar&!lo siguiente:fuente