<强> 强>代表单个字符(必须存在)
. .b
可以表示acdb
aaab, abbbb
但不可以表示acb, ab, aba等
<强> 强>要和通配符区分开,匹配*一个字符的0个或多个
a * b
可以表示ab,艺术展,b, abababab
但不可以表示acb,英航等
acb只会匹配到b,也就是视为b前面有0个
英航也只会匹配到b,同样视为b前面有0个
匹配^字符串开头输入:echo - e abcd \ accc | grep“^ ab”
输出:cd
匹配字美元符串结尾输入:echo - e abcd \ accc | grep美元“抄送”
输出:ac
匹配任意个字符(0到多个)。* b
和通配符里面的*大致类似
可以代表ab, acb,一……b
但不能代表b……一个
强>表示范围,可以用来进行模糊匹配
常用选项为【所有】【0 - 9】
grep【0 - 9】文本过滤出含数字的行
grep【所有】文本过滤出含小写字母的行
<强> 强> grep【abc】文本过滤出含有a, b, c的行()
{n, m}表示匹配前面字符的至少n个最多m个字符,注意:
<强> >强输入回声abbcdfbjk | grep - e b {1,2}”
输出acdfjk
如果输入回声abbcdfbjk | grep - e b {2,}”
cdfbjk可以看到只有连在一起的两个bb被匹配到,也就是说明了
>强输入grep - e“b ac{2、5}”匹配a和b之间至少两个最多5个c的行,但是
【^一个】表示匹配一个以外的所有字符输入echo - e abc \ def \ lmn | grep”[^ f-z]”
输出
匹配^[^]中的以一个为开头以外的所有行grep”^ ^ #”/etc/passwd匹配/etc/passwd里面不以#开头的所有行<强> \ & lt;;\祝辞强>锚定单词首部(尾部)
表示在匹配在首部(尾部)以空格或特殊字符为分隔的指定字符。如果同时锚定首尾\ & lt;\祝辞则表示这个字符的准确匹配,它的前后为特殊字符或空格分隔,不会和任何字符直接连接
输入:回声“嗨,rootamroot”| grep \ & lt;根“
输出:嗨,amroot
输入:回声”hiroot iamroot”| grep“根\祝辞”
输出:hiiamroot
输入:回声“嗨,根iamroot”| grep“根\ \ & lt;比;”
输出:嗨,<强> 强> iamroot
\ 1调用前面的参数——第一个分组(也就是括号里的参数)
过滤出一行中有两个相同数字的行
# grep“\ ([0 - 9] \)。* \ 1 "/etc/passwd
过滤出行首和行位字母相同的行
# grep”^ \ [a - z] \)。* \ 1 $ "/etc/passwd