grep:强大的文本搜索工具,能使用正则表达式搜索文本,并把匹配的行打印出来。
用法:
grep [选项] ‘搜索字符串’ filename
选项:
-a:以文本文件方式搜索
-c:计算找到的符合行的次数
-i:忽略大小写
-n:顺便输出行号
-v:反向查找,即找没有搜索字符串的行
示例:
> grep -n 'the' regular_express.txt # 搜索有the的行,并输出行号
> grep -nv 'the' regular_express.txt # 搜索没有the的行,并输出行号
# []表示其中的某一个字符,例如[ade]表示a或d或e
> grep -n 't[ae]st' regular_express.txt
# 可以用^符号做[]内的前缀,表示除[]内的字符之外的字符
>grep -n '[^g]oo' regular_express.txt # 搜索oo前没有g的字符串所在的行,使用'[^g]oo'作搜索字符串
> grep -n '[0-9]' regular_express.txt # 搜索包含数字的行
# ^表示行的开头,$表示行的结尾, ^$表示空行,因为只有行首和行尾
> grep -n '^the' regular_express.txt # 搜索the在开头的行
> grep -n '^[a-z]' regular_express.txt # 搜索以小写开头的行
> grep -v '^$' /etc/rsyslog.conf | grep -v '^#' # 查询/etc/rsyslog.conf文件,但是不包含空行和注释行