¿Cómo eliminar el archivo de registro con grep para eliminar información prescindible?

¿Cómo eliminar el archivo de registro con grep para eliminar información prescindible?

Mi archivo de registro tiene el siguiente formato:

Dec 26 13:11:48 192.168.1.1 kernel: ACCEPT IN=br0 OUT=vlan1 SRC=192.168.1.2 DST=74.125.43.147 LEN=44 TOS=0x00 PREC=0x00 TTL=63 ID=9312 DF PROTO=TCP SPT=11733 DPT=80 WINDOW=5840 RES=0x00 SYN URGP=0 OPT (020405B4) 

Ahora estoy intentando eliminar cierta información prescindible para que el resultado sea mejor legible y esté mejor organizado, y colocarlo en un archivo nuevo.

El resultado debería verse así y sólo debería tener la siguiente información:

Dec 26 13:11:48 192.168.1.2 74.125.43.147 TCP SPT=11733 DPT=80

¿Cómo hacerlo?

Respuesta1

awk '{sub(/PROTO=/, "", $17); print $1,$2,$3,$4,$17,$18,$19}' < logfile.log > processed-logfile.log

Respuesta2

Pruebe awk para seleccionar las columnas deseadas con declaraciones impresas para colocarlas en el orden deseado.

Por ejemplo, si desea el PID (ID de proceso) del proceso "foo" en su sistema, puede ejecutar

ps -ef | grep foo | grep -v grep | awk '{ print $2 ; }'

información relacionada