grep
一、基础操作
0)过滤查找,匹配文件里面的某个字符、内容
1)查找文件里面的某个内容
grep "root" /etc/passwd
2)查找文件里面的某个内容并且加颜色
grep --color "root" /etc/passwd
3)查找文件里面的某个内容并且加颜色加行号
grep -n --color "root" /etc/passwd
4)查找文件里面的某个内容并且加颜色加行号以该内容开头
grep -n --color "^root" /etc/passwd
5)查找文件里面的某个内容并且加颜色加行号以该内容结尾
grep -n --color "bash$" /etc/passwd
6)查找某个文件里面以#开头的
grep "#" usr/local/conf.xxx.default
7)查找某个文件里不以#开头的
grep -v "#" usr/local/conf.xxx.default
-v取反
去空行
grep -v "#" usr/local/conf.xxx.default |grep -v "^$"
二、基础正则表达式
grep -[acinv] '搜索内容串' filename
-a 以文本文件方式搜索
-c 计算找到的符合行的次数
grep -c "may" test.txt
-i 忽略大小写
grep -i "may" test.txt
-n 顺便输出行号
-v 反向选择,即显示不包含匹配文本的所有行
-h 查询多文件时不显示文件名
-l 查询多文件时只输出包含匹配字符的文件名
-s 不显示不存在或无匹配文本的错误信息
grep 命令加 -E 参数,这一扩展允许使用扩展模式匹配
案例:匹配ip地址
egrep --color "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$" test.txt
egrep --color "([0-9]{1,3}\.){3}[0-9]{1,3}$" test.txt
grep正则表达式元字符集(基本集)