您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
马哥Linux运维学习笔记-grep及正则表达式
发布时间:2018-04-30 10:16:16编辑:雪饮阅读()
grep:
主参数是正则模式和文件
用于正则匹配.
模式中若不使用元字符,则不加引号都可以
单引号叫强引用,双引号叫弱引用,双引号用于模式中需要变量时候.
-v:
该参数使得正则匹配取反.如
ifconfig | grep -v --color 'i'
注意:该参数只是在输出的时候取反,并不是正则本身取反
-o:
只输出匹配的结果,而不输出整个行.如果一个行有多个匹配结果,则多个匹配结果每个 结果都都占一行
默认情况下正则表达式是贪婪模式匹配,如:
有内容axcdfdbdsdsfsdfbmmmsndbxsadasva是1.txt的文件内容
若用正则匹配cat 1.txt | grep --color 'a.*b'
则结果就是上面红色部分,而非贪婪模式应该是到绿色部分完毕就匹配结束,贪婪模式则直接取最长的匹配。
\{n,m\}:
匹配其前字符n次到m次
\{n\}:
匹配其前字符n次
\{n,\}:
匹配其前字符至少n次
^:
锚定行首,必须以其后字符为行首
$:
与^相反,其前字符必须出现在行尾
^$:
匹配空白行
[0-9]:
匹配数字
[[:digit:]]:
匹配数字
[[:punct:]]:
匹配标点符号
[[:lower:]]:
匹配小写字母
[[:upper:]]:
匹配大写字母
[[:space:]]
匹配空白字符
[[:alpha:]]
匹配所有字母
[[:alnum:]]
匹配所有数字和字母
\<或\b:
锚定单词词首,其后的字符必须存在于一个单词中,并且是该单词的首字母,是否行首无所谓
\>或\b:
锚定单词词尾,其前的字符必须是单词的词尾。
\<char\>:
锚定整个单词,char为待锚定单词
\(char\):
分组
关键字词:linux,grep,正则表达式