【发布时间】:2020-07-30 00:26:19
【问题描述】:
我正在格式化一个日志文件,我需要将其转换为 CSV,以便为上级制作一份报告。 在日志文件中,我得到如下内容:
Apr 15 15:51:41 server l2tps: [l2tp_l-22] RADIUS: Accounting user 'USER' (Type: 1)
Apr 15 15:51:35 server l2tps: [l2tp_l-22] RADIUS: Accounting user 'USER' (Type: 2)
在我正在处理的 CSV 中,我需要这样的东西:
User | Date | Conected on | Disconected On | Connection Time
User | 15-Apr | 15:51:35 | 15:51:41 | 00:00:06
我已经达到了这样的程度,即我有 2 行填充连接或断开连接时间,并用标签分隔字段。我已经按时间对线路进行了排序,所以在长长的列表中我的顺序是 Conection>Disconection>Conection>Disconection... 等等。
我不知道如何连接 2 个连续的行而不覆盖填充的字段。基本上我有两行这样的:
USER [TAB] 15-Apr [TAB] 15:51:35 [TAB] [TAB]
USER [TAB] 15-Apr [TAB] [TAB] 15:51:41 [TAB]
我需要把它变成:
USER [TAB] 15-Apr [TAB] 15:51:35 [TAB] 15:51:41 [TAB]
我这辈子都想不通。
TLDR:我有 2 行带有字段分隔数据的行,我需要将两行合并为一个有空白字段的行。我该怎么做?
有人可以帮我吗?
【问题讨论】:
-
嗨拉斐尔,你的问题不清楚。请对其进行编辑以使其更清晰,并提及
\tr是什么。 -
完成。添加 TLDR 并将 \tr 更正为 [TAB]。
标签: csv awk text-processing