我有点迷失从几个文件创建一个json。我有几个文件,例如命名为:CLT.txt、LYO.txt .... 在我们内部我有日期 + 值:dd/mm/yyyy hh:mm xxxxx
我每 5 分钟在每个文件上添加新行
示例:CLT.txt
01/01/2020 00:00 45
01/01/2020 00:05 457
01/01/2020 00:10 458
01/01/2020 00:15 402
01/01/2020 00:20 585
...
02/01/2020 00:00 57
02/01/2020 00:05 86
02/01/2020 00:10 45
02/01/2020 00:15 402
02/01/2020 00:20 104
...
LYO.txt
01/01/2020 00:00 70
01/01/2020 00:05 221
01/01/2020 00:10 315
01/01/2020 00:15 57
01/01/2020 00:20 420
...
02/01/2020 00:00 50
02/01/2020 00:05 92
02/01/2020 00:10 32
02/01/2020 00:15 125
02/01/2020 00:20 10
...
我有大约 15 个这样的文件。
所以最后我希望每 5 分钟只用这种格式创建一个 json 文件:
{
"CLT": {
"01/01/2020": {
"00:00": 45,
"00:05": 457,
"00:10": 458,
"00:15": 402,
"00:20": 585
...
},
"02/01/2020": {
"00:00": 57,
"00:05": 86,
"00:10": 45,
"00:15": 402,
"00:20": 104
...
}
},
"LYO": {
"01/01/2020": {
"00:00": 70,
"00:05": 221,
"00:10": 315,
"00:15": 57,
"00:20": 420
...
},
"02/01/2020": {
"00:00": 50,
"00:05": 92,
"00:10": 32,
"00:15": 125,
"00:20": 10
...
}
}
}
如果你有一个简单的想法,我很感兴趣。所有过程都在 Ubuntu LTS 19 机器上完成。
谢谢
awk
是实现此目的的好工具。我自己不是这方面的专家,但这是我想出的:当然,
sleep 600
只有当您以交互方式调用该脚本时,循环才有意义。如果没有,只需删除外部循环并休眠并从 cron 调用脚本(如果可能,强烈建议使用此变体)。如果需要,您还可以从脚本中删除“重定向”部分并调用脚本重定向其所有输出(这实际上取决于您使用它的上下文)。不要为此使用“bash 脚本”。选择一种对嵌套结构具有本机支持的语言。一旦可用,就可以轻松地将每个文件加载到形状与您想要的完全一样的字典中,然后将整个文件一次转储为 JSON。
例如:
或者:
或者: