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