我希望这里有人可以帮助我.我在文本文件中有一行看起来像这样:
Jan 8 14:12:56 kernel: SRC=1.2.3.4 DST=255.255.255.255 LEN=104 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=44224 DPT=14000 LEN=84
Run Code Online (Sandbox Code Playgroud)
我想提取以SRC =,PROTO =和DPT =开头的单词.我的目标是最终得到一条如下所示的线:
1.2.3.4 UDP 14000
Run Code Online (Sandbox Code Playgroud)
我希望解决方案是使用sed,awk或类似的bash,如果可能的话.
使用Sed与组:
sed -r 's/.*SRC=(\S+).*PROTO=(\S+).*DPT=(\S+).*/\1 \2 \3/'
Run Code Online (Sandbox Code Playgroud)