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 ; }'