1.shell 编程之正则表达式
grep: 文本过滤工具,能够实现根据指定的模式,逐行搜索文件内容,并将匹配到的行显示出来。
模式: 是由正则表达式的元字符,其他字符组成的匹配条件。
. : 任意单个单个字符
[] : 匹配指定范围的任意单个字符
* :匹配其前的字符0次或多次
\?:匹配其前的字符0次或1次
\{m,n\} (与别的语言如php 正则不同的地方,主要防止 shell 展开):匹配其前字符 至少m次,至多n次
锚定符:
单词 锚定:
\< : 锚定词首 \<root
\>: 锚定词尾 root>/
行首锚定:
^ : ^root
$ : root$ root[[:punct:]]? 匹配root结尾 或以root.结尾的字符
分组 :\ ( ab \ )
后向引用:
grep; 选项
-v : 显示不被模式匹配的行
-i : 不区分字符大小写
-o: 只显示匹配到的串
-A num: 显示匹配行后 在显示匹配后的后num行内容
-B num :显示匹配行后 在显示匹配前的前num行内容
-C num :前后 num行
-E 扩展的正则的表达式
2、扩展的正则表达式
与基本正则不同的地方:
?:不带反斜线
+: 匹配其前的字符至少1次
{m,n}: 也不需要加反斜线
分组 () :也不需要加反斜线
或者 | : or
egrep 效果等于 grep -E
IPv4
5类 A B C D E
A: 1-127 .
B : 128-191
C 192-223
D E 类的IP地址 是不能用的,用来研究的