grep: 根据模式搜索文本,并将符合模式的文本行显示出来.
Pattern: 文本字符和正则表达式的元字符组合而成匹配条件
grep [optinons] Pattern [FILE...]
-i: 忽略
--color: 模式显示颜色
-v: 取反,显示没有被模式匹配到的行
-o: 只显示被模式匹配到的字符串本身
正则表达式:
元字符:
.: 匹配任意单个字符
[]: 指定范围内的任意单个字符
[^]: 指定范围外的任意单个字符
字符集合:[:digit:],[:lower:],[:[:upper:],[:punct:],[:space:],[:alpha:],[:alnum:]
(e.g) grep '[[:digit:]]$' /etc/inittab
匹配次数(默认贪婪模式):
*: 匹配前面任意字符任意次
.*: 匹配任意长度的任意字符
\?: 匹配前面的字符1次或0次
\{m,n\}: 匹配前面的字符至少m次,至多n次
位置锚定:
^: 锚定行首,此字符后面的任意内容必须出现在行首
$: 锚定行尾,此字符前面的任意内容必须出现在行尾
^$: 空白行
\<(或者\b): 其后面的任意字符必须作为单词首部出现
\>(或者\b): 其前面的任意字符必须作为单词尾部出现
单词:r55t是单词,r::t不是单词
分组:
\(\): \(ab\)* ,将ab看成整体,出现一次或多次
\1: 引用之前出现的第一个左括号与之对应的右括号匹配到的内容
\2
\3
找出/boot/grub/grub.conf文件中1-255之间的数字;
\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>
ip地址(非精确)
'(\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>\.){3}(\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>)'
ip地址(精确到A,B,C)
'\<([1-9]|[1-9][0-9]|1[0-9]{2}|2[01][0-9]|22[0-3])\>(\.\<([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-4])\>){2}\.\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4])\>'
利用正则表达式匹配IP地址
最新推荐文章于 2022-10-10 11:35:41 发布