如果一行以=结尾,则将下一行附加到它(sed)

时间:2018-05-14 22:23:04

标签: regex linux sed

我在使用这个正则表达式时遇到了一些麻烦(在bash中)。

如果文本文件中的一行以=结尾,则应将下一行附加到该行。

我尝试过:sed -e:a -e' / \ $ / N; S / = \ n //; TA'

但是这种方式不起作用,有人可以帮助我吗?

非常感谢。

2 个答案:

答案 0 :(得分:0)

使用perl你可以做到:

perl -pe 's/=\n/=/g' inputfile

示例输入:

line1                                                                           
line2=                                                                          
line3                                                                           
line4=                                                                          
line5=                                                                          
line6          

输出:

line1
line2=line3
line4=line5=line6

答案 1 :(得分:0)

这可能适合你(GNU sed):

sed ':a;N;s/=\n/=/;ta;P;D' file

在模式空间中最多保留两行,如果第一行以=结尾,则将其与第二行结合并重复。