【发布时间】:2016-06-02 10:56:17
【问题描述】:
我正在努力使用 awk 重新格式化逗号分隔的文件。该文件包含多台服务器和多个指标一天的分钟数据
例如 2 条记录,每分钟,每台服务器 24 小时
示例输入文件:
server01,00:01:00,AckDelayAverage,9999
server01,00:01:00,AckDelayMax,8888
server01,00:02:00,AckDelayAverage,666
server01,00:02:00,AckDelayMax,5555
.....
server01,23:58:00,AckDelayAverage,4545
server01,23:58:00,AckDelayMax,8777
server01,23:59:00,AckDelayAverage,4686
server01,23:59:00,AckDelayMax,7820
server02,00:01:00,AckDelayAverage,1231
server02,00:01:00,AckDelayMax,4185
server02,00:02:00,AckDelayAverage,1843
server02,00:02:00,AckDelayMax,9982
.....
server02,23:58:00,AckDelayAverage,1022
server02,23:58:00,AckDelayMax,1772
server02,23:59:00,AckDelayAverage,1813
server02,23:59:00,AckDelayMax,9891
我正在尝试重新格式化文件,使其每分钟有一行,并将字段 1 和 3 的唯一串联作为列标题
例如,预期的输出文件如下所示:
Minute, server01-AckDelayAverage,server01-AckDelayMax, server02-AckDelayAverage,server02-AckDelayMax
00:01:00,9999,8888,1231,4185
00:02:00,666,5555,1843,8892
...
...
23:58:00,4545,8777,1022,1772
23:59:00,4686,7820,1813,9891
【问题讨论】:
-
您可以尝试使用
join命令进行数据分组。否则,以时间戳字符串为键的awk中的关联数组。 -
糟糕,您忘记发布代码了! StackOverflow 旨在帮助人们修复他们的代码。这不是免费的编码服务。任何代码都比没有代码好。元代码甚至可以展示您认为程序应该如何工作,即使您不知道如何编写它。