0
我的測試文件看起來像下面awk中匹配的線和打印列多個模式,如果發現其他打印
輸入
$ cat file
date="2017-10-10" ip=192.168.1.1:22 inbound=100 outbound=50
date="2017-10-10" ip=192.168.1.1:22 inbound=100
date="2017-10-10" ip=192.168.1.1:22 outbound=60
我用下面的awk命令來提取值入境=。
$ awk '{found=0; for(i=1;i<=NF;i++) { if ($i ~ /inbound/) { split($i,arr,"="); print arr[2];found=1 } } if (!found) print 0 }' file
100
100
0
現在我想補充的「IP」,「端口」和「出站」到列表中,這樣我的輸出看起來像
IP,PORT,INBOUND,OUTBOUND
192.168.1.1,22,100,50
192.168.1.1,22,100,0
192.168.1.1,22,0,60
收盤爲dup,因爲我完全告訴你**如何在[我對你最後一個問題的回答]中做到這一點(https://stackoverflow.com/a/44331032/1745001) - 建立數組,然後打印你喜歡的任何值名稱。 –