sed:根据第二个连接线

Rem*_*o.D 17 sed

我有一个偶尔会有分割线的文件.线条以"+"开头(可能以空格开头)这一事实表明了分裂.

line 1
line 2
  + continue 2
line 3
...
Run Code Online (Sandbox Code Playgroud)

我想加入拆分线:

line 1
line 2 continue 2
line 3
...
Run Code Online (Sandbox Code Playgroud)

使用sed.我不清楚如何加入一行.

有什么建议吗?

pot*_*ong 21

这可能对你有用:

sed 'N;s/\n\s*+//;P;D' file
Run Code Online (Sandbox Code Playgroud)

这些实际上是四个命令:

  • N
    将输入文件中的行附加到模式空间
  • s/\n\s*+//
    删除换行符,跟随空格和加号
  • P
    从模式空间打印直到第一个换行符
  • D
    从模式空间中删除行直到第一个换行符,例如刚刚打印的部分

相关的手册页部分是