您好,我有以下格式的 txt 文件中的数据
TCP dmz 10.20.10.144:8080 inside 10.1.1.98:59217, idle 0:00:11, bytes 1295, flags UFRIO
TCP dmz 10.20.10.144:8082 inside 10.1.1.98:31949, idle 0:00:13, bytes 956, flags UfrIO
TCP dmz 10.20.10.144:8082 inside 10.1.1.97:60194, idle 0:00:16, bytes 645, flags UfrIO
我只想提取
IP地址和字节字段,所以最终结果应该是
10.20.10.144 10.1.1.98 1295
10.20.10.144 10.1.1.98 956
10.20.10.144 10.1.1.97 645
最后我还想按第一个字段的字节(第 3 列)进行分组。得到:
10.20.10.144 2896
有什么帮助吗?
谢谢
最佳答案
如果你想考虑awk:
awk -F '[ ,]' '{sub(/:.+$/, "", $3); sub(/:.+$/, "", $5); print $3, $5, $11}' file
10.20.10.144 10.1.1.98 1295
10.20.10.144 10.1.1.98 956
10.20.10.144 10.1.1.97 645
编辑:基于以下评论:
awk -F '[ ,]' '{sub(/:.+$/, "", $3); a[$3]+=$11} END{for (i in a) print i, a[i]}' file
10.20.10.144 2896
关于python - 操纵列字段以获得清晰的表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28616651/