仅删除特定的行新行/换行符 [英] Remove new line / line break characters only for specific lines
问题描述
我有以下的输出:
02:01:31
OFFLINE
02:02:31
ONLINE
和我想它变成了:
02:01:31 OFFLINE
02:02:31 ONLINE
我发现删除所有换行/线的方式与打破sed的':一个; N; $ BA; S / \\ n / / g的!然而
它给我接下来这是不是真的,我追求的:
I found a way of removing all newline / line breaks with sed ':a;N;$!ba;s/\n/ /g'
however it gives me what follows which is not really what I'm after:
02:01:31 OFFLINE 02:02:31 ONLINE
问:我如何删除换行符/换行符只匹配某种模式(在这种情况下该行 [0-9]
就足够了?
Q: How can I remove newline / line breaks only for lines that match a certain pattern (in this case [0-9]
would be enough?
PS:这并不一定与 SED
只要我可以申请一个正则表达式的行的匹配
PS: It doesn't have to be with sed
as long as I can apply a regex pattern to the matching of lines
推荐答案
请您 S / \\ n / / G
是 S / \\( [0-9] \\ S * \\)\\ N / \\ 1 / G
(数字后面加一个换行符非空白的任何金额)。
Make your s/\n/ /g
be s/\([0-9]\S*\)\n/\1 /g
(a digit followed by any amount of non-whitespace followed by a newline).
这篇关于仅删除特定的行新行/换行符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!