linux命令grep、sea
grep:文本过滤工具
功能说明:
从文本文件或管道数据流中筛选匹配的行及数据。
选项说明
参数选项 |
解释说明 |
-v |
显示不匹配行 |
-n |
显示匹配行及行号 |
-i |
不区分大小写 |
-c |
值统计匹配的行数 |
-E |
使用扩展的egrep命名 |
--color=auto |
为匹配字符串添加颜色 |
-w |
只匹配过滤的单词 |
-o |
值输出匹配的内容 |
例子
[root@ecs-6197 test]# cat test
grep
sed
awk
[root@ecs-6197 test]# grep -v "grep" test
sed
awk
[root@ecs-6197 test]# cat test.1
grep
sed
awk
grep
[root@ecs-6197 test]# grep -n "grep" test.1
1:grep
4:grep
[root@ecs-6197 test]# grep -n "." test.1
1:grep
2:sed
3:awk
4:grep
[root@ecs-6197 test]# cat test.2
ALEX
abc
[root@ecs-6197 test]# grep -i alex test.2
ALEX
[root@ecs-6197 test]# cat test.1
grep
sed
awk
grep
[root@ecs-6197 test]# grep -Ei "sed|awk" test.1
sed
awk
[root@ecs-6197 test]# useradd nginx
[root@ecs-6197 test]# useradd nginx1
[root@ecs-6197 test]# useradd nginx2
[root@ecs-6197 test]# grep -w nginx /etc/passwd
nginx:x:1000:1000::/home/nginx:/bin/bash
[root@ecs-6197 test]# grep nginx /etc/passwd
nginx:x:1000:1000::/home/nginx:/bin/bash
nginx1:x:1001:1001::/home/nginx1:/bin/bash
nginx2:x:1002:1002::/home/nginx2:/bin/bash
[root@ecs-6197 test]#
sed:字符流编辑器
功能说明:
语法格式
sed [选项] [内置命令字符] [输出文件]
选项说明
选项说明 |
解释说明 |
-n |
取消默认的sed输出 |
-i |
直接修改文件,不输出到终端 |
内置命令符 |
解释说明 |
-a |
追加文本 |
-d |
删除匹配文本 |
-i |
插入文本 |
-p |
打印匹配行内容 |
s/regexp/replacement/ |
用replacement替换regexp |
例子
[root@ecs-6197 test]# cat persons.txt
101,abc,CEO
102,bbb,CTO
103,ccc,COO
104,ddd,CFO
105,ddd,CIO
[root@ecs-6197 test]# sed '2a 106,fff,CSO' persons.txt #在第二行追加
101,abc,CEO
102,bbb,CTO
106,fff,CSO
103,ccc,COO
104,ddd,CFO
[root@ecs-6197 test]# sed '2i 107,eee,CCO' persons.txt
101,abc,CEO
107,eee,CCO
102,bbb,CTO
103,ccc,COO
104,ddd,CFO
105,ddd,CIO
[root@ecs-6197 test]# sed '2d' persons.txt
101,abc,CEO
103,ccc,COO
104,ddd,CFO
105,ddd,CIO
[root@ecs-6197 test]# sed 's/abc/ppp/' persons.txt
101,ppp,CEO
102,bbb,CTO
103,ccc,COO
104,ddd,CFO
105,ddd,CIO
网友评论