grep学习示例
Linux中grep命令使用较多,现将自己学习的罗列几条.
1. 去除空白行
空白行是指空行或者只有空格的行,使用grep命令去除空白行,命令如下:
grep -v “^[[:space:]]*$” file
2. 实现or 和 and功能
1. grep -e 实现多个选项间的逻辑or关系
显示shell类型为bash或者nologin的行:
grep -e bash -e nologin /etc/passwd
2. 两次使用grep实现多个选项间的逻辑and关系
判断用户名为wang并且用户ID为1007的用户是否存在:
grep “^wang\>” /etc/passwd | cut -d: -f3 | grep “\<1007\>”
3. 过滤出段落中的IP地址
1. 显示ifconfig命令结果中所有IPv4地址
ifconfig | egrep -o “\<(([0-9] | [1-9][0-9] | 1[0-9]{2} | 2[0-4][0-9] | 25[0-5]).){3}([0-9] | [1-9][0-9] | 1[0-9]{2} | 2[0-4][0-9] | 25[0-5])\>”
2. 显示file文件中类似255.255.255.0 或者 114.114.114.119这样的地址
ifconfig | egrep -o “\<(([0-9] | [1-9][0-9] | 1[0-9]{2} | 2[0-4][0-9] | 25[0-5]).)\1\1([0-9] | [1-9][0-9] | 1[0-9]{2} | 2[0-4][0-9] | 25[0-5])\>”
4. 对比grep和egrep中( )的使用区别
1. 用 grep 匹配 (jihui)
grep -o “(jihui)” f1
2. 用 egrep 匹配 (jihui)
egrep -o “\(jihui\)” f1
5. grep的多文件匹配
文件 f1 的内容为:
(jihui)
jihui
he he
(jihui)shi hen zhongyaodao(jihui)important
文件 f2 的内容为:
jihui is important
jihui
一次进行多文件的匹配,显示在f1,f2文件中匹配jihui的行
grep “jihui” f1 f2
显示的结果:
f1:(jihui)
f1:jihui
f1:(jihui)shi hen zhongyaodao(jihui)important
f2:jihui is important
f2:jihui
原创文章,作者:woking,如若转载,请注明出处:http://www.178linux.com/83427