【发布时间】:2016-08-12 04:26:03
【问题描述】:
我有一个大约500MB 的巨大文件大小,每一行都会包含如下所述的数据。
#vim results.txt
{"count": 8, "time_first": 1450801456, "record": "A", "domain": "api.ai.", "ip": "54.240.166.223", "time_last": 1458561052}
{"count": 9, "time_first": 1450801456, "record": "A", "domain": "cnn.com.", "ip": "54.240.166.223", "time_last": 1458561052}
.........
总共 2500 万行。
现在,我想将results.txt 文件保留为,
8,1450801456,A,api.ai,54.240.166.223,1458561052
9,1450801456,A,cnn.com,54.240.166.223,1458561052
....
通过删除不需要的字符串,如 count 、 time_first 、 record 、domain 、 ip 、 time_last 。
现在,在 vim 模式下,我正在删除每个字符串。例如,我会做%s/{"count": //g。
对于一个字符串,替换它需要更多时间。
我是 Bash/shell 的初学者,如何使用 sed / awk 做到这一点?请问有什么建议吗?
【问题讨论】:
-
有成千上万的 awk 和 sed 示例,通过进行前期 google 搜索很容易找到。它们不是一些不起眼的库
-
我没有对您投反对票,但您在尝试找到解决方案方面并没有付出太多努力。如果您已经尝试过,请展示您尝试过的内容以及发生的情况。
-
是的。我没有投反对票,但快速的谷歌搜索会为您提供答案,所以我认为缺乏努力是导致投反对票的原因。
-
@JavierBuzzi 是的,已经在做那个伙伴了。如果我遇到任何问题,将更新帖子。
-
停止尝试为此使用 vim,您需要 sed、awk 或 cut。