您的位置:首页 > 运维架构 > Shell

shell入门-sed-1

2015-11-18 22:05 651 查看
sed这个工具比grep复杂一点,功能比grep复杂一点

功能也能指定匹配的行,不能颜色显示

sed 基础功能

[root@wangshaojun ~]# sed -n '10'p 1.txt
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

不加-n 第十行出现两遍 p打印的意思

可以指定范围

1到10行

[root@wangshaojun ~]# sed -n '1,10'p 1.txt

....

共10行

从25行到结尾

[root@wangshaojun ~]# sed -n '25,$'p 1.txt

....$

匹配指定关键词root的行

[root@wangshaojun ~]# sed -n '/root/'p 1.txt
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin

和egrep的意思一样

一个字符

[root@wangshaojun ~]# sed -n '/r.o/'p 1.txt

.....

0个或多个r

[root@wangshaojun ~]# sed -n '/r*o/'p 1.txt

.....

0个或1个r

[root@wangshaojun ~]# sed -n '/r\?o/'p 1.txt

......

1个或多个r

[root@wangshaojun ~]# sed -n '/r\+o/'p 1.txt

.....

包含root或者nologin的行

[root@wangshaojun ~]# sed -n '/root\|nologin/'p 1.txt

......

匹配1个或多个oo

[root@wangshaojun ~]# sed -n '/\(oo\)\+/'p 1.txt == sed -n -r '/(oo)=/' 1.txt

....

匹配数字开头的行

[root@wangshaojun ~]# sed -r -n '/^[0-9]/'p 1.txt

....

匹配包含数字的

[root@wangshaojun ~]# sed -r -n '/[0-9]/'p 1.txt

....

匹配空行

[root@wangshaojun ~]# sed -r -n '/^$/'p 1.txt

.....

////////////////////////////////////////////////////////////////////////////////////

sed比grep多的功能

不显示空格行

[root@wangshaojun ~]# sed '/^$/'d 1.txt

......

不显示包含数字的行

[root@wangshaojun ~]# sed '/[0-9]/'d 1.txt

(空行)

#$%%^&#@!!?????>>><<:"}{

不显示包含字母的行

[root@wangshaojun ~]# sed '/[a-zA-Z]/'d 1.txt

(空行)

#$%%^&#@!!?????>>><<:"}{
112234556754576543

不显示1到25行

[root@wangshaojun ~]# sed '1,25'd 1.txt

.....$

删除选项

-i

[root@wangshaojun ~]# wc -l 1.txt
31 1.txt
[root@wangshaojun ~]# sed -i '1,29'd 1.txt
[root@wangshaojun ~]# wc -l 1.txt
2 1.txt

///////////////////////////////////////////////////////////////////////////////////////////////

总结:sed和grep的参数基本一样 选项-r去脱意符号 -n只显示指定 -i删除 p打印 d不显示的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: