grep--命令详解
grep:文本过滤工具
功能:用于从文本文件或管道数据流中筛选匹配的行及数据,配合正则一块使用功能会更加强大。
语法格式:
grep 【options】 【pattern】 【file】
grep 参数 匹配模式 文件
参数 -v 显示不匹配的行(用于排除)
[root@template ~ 14:09:56]]# cat test.txt
zhangsan
lisi
wangwu
liudehua
zhangxueyou
[root@template ~ 14:10:00]]# grep -v lisi test.txt
zhangsan
wangwu
liudehua
zhangxueyou
参数 -n 显示匹配行及行号
[root@template ~ 14:10:07]]# grep -n "wangwu" test.txt
3:wangwu
[root@template ~ 14:11:00]]# grep -n "." test.txt #匹配所有行的行号
1:zhangsan
2:lisi
3:wangwu
4:liudehua
5:zhangxueyou
参数 -i 不区分大小写(是适应单字符)
[root@template ~ 14:13:37]]# grep "lisi" test.txt
[root@template ~ 14:13:44]]# grep -i "lisi" test.txt
LISI
[root@template ~ 14:13:49]]# cat test.txt
zhangsan
wangwu
liudehua
zhangxueyou
LISI
参数 -E 使用egrep命令 egrep==grep -E
[root@template ~ 14:13:58]]# egrep "wangwu|zhangsan" test.txt
zhangsan
wangwu
参数 -c 计算匹配字符串出现的数量
[root@template ~ 14:16:59]]# grep -c "wangwu" test.txt
2
参数 -o 只输出匹配的内容
[root@template ~ 14:17:09]]# grep -o "wangwu" test.txt
wangwu
wangwu
如何取ip地址
[root@template ~ 14:27:44]]# ip a s eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:4b:80:be brd ff:ff:ff:ff:ff:ff
inet 10.0.0.230/24 brd 10.0.0.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet6 fe80::d0dc:1fc7:38d0:bfcc/64 scope link noprefixroute
valid_lft forever preferred_lft forever
[root@template ~ 14:26:26]]# ip a s eth0|grep "inet"|egrep "([0-9]{1,3}\.?){4}" -o|head -1
10.0.0.230