python - 操纵列字段以获得清晰的表示

标签 python linux bash shell scripting

您好,我有以下格式的 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/

相关文章:

python - pretty-print 数据类更漂亮

c - 等待多个事件而不进行轮询

linux - 将 bash 脚本从 Windows 翻译到 Linux

mysql - 如何通过 shell 脚本执行远程 MySQL 查询而不在我的 shell 脚本中输入开放文本密码?

python - 部分透明的散点图,但带有纯色条

javascript - Dash 的下拉组件支持点击所选项目

python - Pandas 获取 A 列中 B 列中每个唯一值的唯一值列表

c - linux c编程fifo无故失败

bash - 如何知道在使用Shell时在vi中打开文件?

linux - 从 tar 文件中提取特定目录而不创建包含层次结构