1

把所有不以句号结尾的行,和下一行合并。

sed -i '/[^。]$/{N;s/\n//}' abc.txt

2

把两行合并为一行,适用于将某一行(通过筛选条件定位到该行)和上一行进行合并的情况。

sed '{N;s/\(.*\)\n\(.*name.*\)/\1\2/;t merge;P;D};:merge p;d' a.txt

示例:

a.txt文件的内容如下:

1:

name:zhangsan,age:10

2:

name:wangwu,age:11

结果展示:

acat@acat-xx:mycode$ sed '{N;s/\(.*\)\n\(.*name.*\)/\1\2/;t merge;P;D};:merge p;d' a.txt

1: name:zhangsan,age:10

2: name:wangwu,age:11

3

讲多个连续的空行变为一个空行

sed -i '/^$/{N;/^\n*$/D}' test.txt