grep:全局用正则表达式搜索,并且打印符合条件的行
grep [option] .... pattern [file]
--color=auto 将匹配到的文本添加颜色显示
-v 取反,显示没有匹配到
-i 忽略大小写
-n 显示匹配到的行的行号
-c 只显示匹配到的行的个数
-o 只显示匹配到的字符
-q 静默模式,不输出东西
-A # 输出后#行
-B # 输出前#行
-C # 前后各输出#行
-e 表示或者
-E 扩展正则表达式
-r 递归查找
grep -q "qwertyuip;qwertyuo" passwd
echo $? # 表示上条命令是否正确
grep -q "root" passwd
echo $?
grep -e "root" -e "mail" passwd
grep -r root /etc/
字符匹配
. 匹配任意单个字符
[abc] 匹配执行范围内的任意单个字符 [0-9]
[^abc] 取反
[:alnum:] 数字大小写 [a-zA-Z0-9]
[:alpha:] 大小写字母 [a-zA-z]
[:lower:] 小写字母 [a-z]
[:upper:] 大写字母 [A-Z]
[:digit:] 数字 [0-9]
[:punct:] 标点符号
匹配次数
* 0次或者多次,是贪婪匹配
\?0次或者一次
\+ 最少一次
\{n\} 匹配n次
\{m,n\} 最少m次,最多n次
\{,n\} 最多n次
\{m,\} 最少m次
位置锚定
^ 行首锚定
$ 结尾
^$ 空行
向后引用
egrep =grep -E
支持扩展正则表达式,与标准增长表达式的区别就是不需要转义
原文:https://www.cnblogs.com/Hedger-Lee/p/13047137.html