【发布时间】:2019-10-04 13:51:06
【问题描述】:
我想在匹配的方括号行之间合并行,并添加逗号,如下所示
[1] 13:58:13 [FAILURE], webhost1 ,Exited with error code 255
[2] 13:58:14 [SUCCESS], webhost2
cmd1:
Friday October 4 2019 3:12:07 PM
cmd2:
vmw6222......
.........................
[3] 13:58:14 [SUCCESS], webhost3
cmd1:
Friday October 4 2019 3:12:07 PM
cmd2:
vmw6222.........
...........
[30] 15:12:08 [SUCCESS] vmw6211
cmd1:
Friday October 4 2019 3:12:08 PM
[31] 13:58:14 [SUCCESS], webhost4
Stderr: hostn : The term 'hostn' is not recognized as the name of a cmdlet, function, ^M
............................
Expected output
[1] 13:58:13 [FAILURE], webhost1 ,Exited with error code 255
[2] 13:58:14 [SUCCESS], webhost2, cmd1: Friday October 4 2019 3:12:07 PM, cmd2: vmw6222.....
[3] 13:58:14 [SUCCESS], webhost3, cmd1: Friday October 4 2019 3:12:07 PM, cmd2: vmw6222.........
[30] 15:12:08 [SUCCESS] vmw6211, cmd1: Friday October 4 2019 3:12:08 PM
[31] 13:58:14 [SUCCESS], webhost4, Stderr: hostn : The term 'hostn' is not recognized as the name of a cmdlet, function, ^M
我试过Merge lines between two patterns using sed 在下面尝试过,但没有帮助我 任何人都可以帮助我在下面的 awk 命令中出错的地方
awk 'BEGIN {accum_line = "";} /^\[[0-9]+]/{if(length(accum_line)){print accum_line; accum_line = "";}} {accum_line = accum_line " ," $0;} END {if(length(accum_line)){print accum_line; }}'
【问题讨论】:
-
从您的示例输入/输出中删除任何不是真正数据一部分的
...s,因为它们只会使帖子变得混乱,使其不那么清晰。