我的日志文件有以下格式:
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)
现在我试图删除一些可有可无的信息,使输出更好的可读性和妥善安排,并将其放入一个新的文件。
结果应该看起来像这样,只应该有以下信息:
Dec 26 13:11:48 192.168.1.2 74.125.43.147 TCP SPT=11733 DPT=80
怎么做?
awk '{sub(/PROTO=/, "", $17); print $1,$2,$3,$4,$17,$18,$19}' < logfile.log > processed-logfile.log
尝试awk来select想要的列与打印语句将其放置在所需的顺序。
例如,如果您想在系统上使用进程“foo”的PID(进程ID),则可以运行
ps -ef | grep foo | grep -v grep | awk '{ print $2 ; }'