定址的方法 1.数字 2.正则
数字(行号):十进制数
1 单行
#sed -n '1p' passwd p是打印函数
1,3 范围 从第一行到第三行
#sed -n '1,3p' passwd
2,+4 匹配行后若干行
4,~3 从第四行到下一个3的倍数行
1~3 第一行起每间隔三行的行
$ 尾行
1! 除了第一行以外的行
正则:
正则必须用//包裹起来
扩展正则需要用 -r 参数或转移
[root@localhost sed]# cat test.txt
11111111
11111111
11111111
22222222
33333333
44444444
#1.删除除第一行以外的
>[root@localhost sed]# sed -e '1!d' test.txt
11111111
#2.打印出除第一行以外的
>[root@localhost sed]# sed -n '1!p' test.txt
11111111
11111111
22222222
33333333
44444444.
cat file.txt
TS
Beijing,CN
.TE
Shanghai,CN
guangzhou,CN
shenyang,CN
[root@localhost sed]# sed -e '2,$d' file.txt
.TS
删除所有的行
d
只删除第一行
1d
使用寻址符号$,删除最后一行
$d
删除空行,正则表达式必须封闭在斜杠//当中
/^$/d
删除.TS 和.TE 标记的tbl 输入
/^\.TS/,/^\.TE/d
删除第五行到结尾所有的行
5,$d
混合使用行地址和模式地址
sed ‘1,/^$/d' file.txt
删除除了那些行以外的行
1,5!d
网友评论