将行与上一行合并
Merge line with previous line
如果所有实例的行都以“set”开头,我正在尝试将文件中的一行与上一行合并。因此,如果文件如下所示:
...<br>
...<br>
previous line<br>
set ...<br>
我想要这个(不知道上一行是什么):
...<br>
...<br>
previous line set ...
我试过这个和 google 上找到的其他解决方案但没有成功:
sed 'H;1h;$!d;x;s/\nset//g' file
awk 'BEGIN {RS=""}{gsub(/\n\set/,"", [=12=]); print [=12=]}' file
这些只是打印了没有“set”行的行,文件看起来一样。
sed 版本是 GNU 4.2.2
这可能适合您 (GNU sed):
sed ':a;N;s/\nset/ set/;ta;P;D' file
制作一个双行缓冲区,如果第二行以 set
.
开头,则用 space 替换换行符
如果所有实例的行都以“set”开头,我正在尝试将文件中的一行与上一行合并。因此,如果文件如下所示:
...<br>
...<br>
previous line<br>
set ...<br>
我想要这个(不知道上一行是什么):
...<br>
...<br>
previous line set ...
我试过这个和 google 上找到的其他解决方案但没有成功:
sed 'H;1h;$!d;x;s/\nset//g' file
awk 'BEGIN {RS=""}{gsub(/\n\set/,"", [=12=]); print [=12=]}' file
这些只是打印了没有“set”行的行,文件看起来一样。
sed 版本是 GNU 4.2.2
这可能适合您 (GNU sed):
sed ':a;N;s/\nset/ set/;ta;P;D' file
制作一个双行缓冲区,如果第二行以 set
.