打印出filename中,空行所在的行数

sed -n '/^$/=' filename


为文件加行号

sed = filename|sed 'N;s/\n/:/'


字符翻转

sed '/\n/!G;s/\(.\)\(.*\n\)/&\2\1/;//D;s/.//' filename


删除连续重复的行

sed '$!N; /^\(.*\)\n\1$/!P; D' filename


合并上下行并以空格相分隔 

sed '$!N;s/\n/ /' filename


将以\符号结尾的行与下行合并并以空格分隔(拼接断行) 

sed -e :a -e '/\\$/N; s/\\\n/ /; ta' filename


按关键字拼接行,如果某行以=开始,则合并到上一行并替代=为空格 

sed -e :a -e '$!N;s/\n=/ /;ta' -e 'P;D' filename


显示匹配行的行号并输出匹配行的上行、匹配行、下行 

sed -n -e '/regexpr/{=;x;1!p;g;$!N;p;D;}' -e h  filename


从字串中解析出两个子串(前2各字符和后9个字符) 

echo "WeLoveChinaUnix"|sed -e 'H;s/\(..\).*/\1/;x;s/.*\(.\{9\}\)$/\1/;x;G;s/\n/ /'

We ChinaUnix


分解日期串

echo 20151212|sed 's/\(....\)\(..\)\(..\)/\1 \2 \3/'

2015 12 12


按时间范围输出

sed -n  '/2016-10-01 11:16:29/,/2016-10-01 12:30:52/p' aa.txt


指定行后 追加多行

sed -i 'N;2 a ddddddddd\nfffffffff\ngggggggg' test1

指定行后追加文件的内容

sed -i 'N;6 r ip.txt' test1

多个文件合成一个;A.file B.file 合成C.file

A.file

1

3

5

7

B.file

2

4

6

8

C.file

1

2

3

4

5

6

7

8


paster A.file B.file > C.file

编辑C.file 把空格换成回车符   :%s/\s/\r/g