【发布时间】:2020-07-14 21:34:40
【问题描述】:
在我的 grep 之后,我生成了一个文件,其中包含数据作为键和计数,但在单独的行中:
$Value, "Some", $233kS
:2343
$AnotherCount, JunkValue
:38585
YetAnother, Nothing
:38484
我想要一个类似的文件:
$Value, "Some", $233kS:2343
$AnotherCount, JunkValue:38585
YetAnother, Nothing:38484
计数模式是固定的,它的格式总是:[0-9]*
是否可以使用sed 或任何单行命令?
我查看了replace line,但仅在计数模式不匹配时才想要。
我对可以解决扩展问题的解决方案感兴趣:
$Value, "Some", $233kS
$AnotherCount, JunkValue
:38585
YetAnother, Nothing
:38484
应该输出:
$Value, "Some", $233kS$AnotherCount, JunkValue:38585
YetAnother, Nothing:38484
基本上,所有不匹配模式的行都不应该有结束行字符。
【问题讨论】:
-
when the count pattern is not matched不是吗?看起来您想要匹配它并删除它前面的换行符。s/\n\(:[0-9]*\)/\1/g -
另一种可能性是使用
awk或类似的方法代替您之前的@987654332@ 步骤,因为我们需要原始示例和用于获取当前输出的grep 命令的说明 -
我同意
Putting 2 lines..或joining pair of lines可以解决我的问题,但我很想知道谁可以选择性地删除任何结束行字符以合并下一行。 (基于模式匹配)