grep:根据用户指定的“模式”对目标文本进行匹配检查,打印匹配到的行
模式:用正则表达式字符所编写的过滤条件
grep [option] pattern [file...]
--color=auto:对匹配到的文本着色显示
-v:显示不能够被pattern匹配到的行
-i:忽略字符大小写
-o:仅显示匹配到的字符串
-q:静默模式,不输出任何信息
-A #:后#行
-B #:前#行
-C #:前后各#行
-E:使用ERE(扩展正则表达式)
-n:行号
基本正则表达式元字符
字符匹配:
.:匹配任意单个字符
[]:匹配指定范围内的任意单个字符
[^]:匹配指定范围外的任意单个字符
[:digit:]:任意数字,相当于0-9
[:lower:]:任意小写字母
[:upper:]:任意大写字母
[:alpha:]:任意大小写字母
[:alnum:]:任意数字或字母
匹配次数:用在要指定次数的字符后面,用于指定前面的字符要出现的次数
.:一定有一个任意字符
*:匹配前面的字符任意次(0到无穷多个)
.*:任意长度的任意字符
\?:匹配其前面的字符0次或1次
\+:匹配前面的字符至少1次
\{m\}:匹配前面的字符m次 {}在shell中油特殊意义
\{m,n\}:匹配前面的字符字少m次,至多n次
\{0,n\}:匹配前面的字符至多n次
\{m,\}:匹配前面的字符至少m次
位置锚定:
^:行首锚定:用于模式的最左侧
$:行尾锚定:用于模式的最右侧
^pattern$:用于模式匹配整行
^$:空行
^[[:space:]]*$
\< 或\b:词首锚定:用于单词模式的左侧
\> 或\b:词尾锚定:用于单词模式的右侧
\<pattern\>:匹配整个单词