grep:
一.常用选项:
-i 不区分大小写针对单个字符
-v 显示不包括查找字符的所有行
-o 只打印出匹配到的字符
-c 显示有多少行被匹配到
-e 可以使用多个表达式
-s 不显示不存在或无匹配文本的错误信息
-A n qq.txt 找到所有匹配行,并显示匹配行后n行
-B n qq.txt 找到所有匹配行,并显示匹配行前n行
-C n qq.txt 找到所有匹配行,并显示匹配行前n行,后n行
-E: 切换为 egrep
-l 列出文件内容符合指定的范本样式的文件名称。
-L 列出文件内容不符合指定的范本样式的文件名称。
1.显示不区分‘abc’大小写匹配到的行
2.显示除了匹配到‘abc’的其他所有行
3.只显示qq.txt中匹配到aha字符串的行
grep -o 'aha' qq.txt
4.显示有多少行匹配到‘abc’不区分大小写的行,和没有匹配到的行
grep -ci 'abc' qq.txt
grep -vci 'abc' qq.txt
5.找到所有匹配2的行,并显示匹配行后2行
grep -A 2 '2' qq.txt
找到所有匹配aaa的行,并显示匹配行前2行
grep -B 2 'aaa' qq.txt
找到所有匹配aaa的行,并显示匹配行前2行和后两行
grep - C 2 ‘aaa' qq.txt
6.使用多个筛选条件
grep -e 'aaa' -e 'qq' qq.txt
二.命令正则表达式
. 匹配单个字符 如..X yiX能查出来
^ 匹配行首 ^d 每行第一个字符为d
$ 匹配行尾 T$ 每行最后一个字符为T
* 匹配随意字符串
屏蔽特殊字符的含义
A{2}B 字母A出现两次
A{2,}B 至少出现两次
A{2,4}B 出现2到4次
[0-9]{4}xx[0-9]{4} 前四个是数字,中间是xx,后四个是数字
1.显示出以a 开头,以 a结尾的字符
2.显示含有1的行,含有 1或2或3的字符串
3.显示含有1-3或者a-b的字符的行
4.匹配字符串‘23’但是第二个字符只能匹配0次或者1次,实际匹配只有2,23
5.匹配‘3’字符一次或多次
grep -n '3+' qq.txt
6.匹配字符‘a'至少两次的字符
三.实例
1.输出ip
ifconfig eth0|grep -E "([0-9]{1,3}.){3}[0-9]"
2,显示不以u开头的行
3.显示本机远程连接情况
netstat -an |grep '10.104.11.107'