一、正则介绍
1、正则就是一串有规律的字符串;
2、掌握好正则对于编写shell脚本有很大帮助;
3、各种编程语言中都有正则,原理是一样的;
二、grep/egrep
1、grep [-cinvABC] 'word' filename
2、-c 行数
3、-i 不区分大小写
4、-n 显示行号
5、-v 取反
6、-r 遍历所有子目录
7、-A 后面跟数字,过滤出符合要求的行以及下面n行
8、-B 后面跟数字,过滤出符合要求的行及上面的n行
9、-C 后面跟数字,同时过滤出符合要求的行以及上下各n行
grep/egrep示例
1、grep '[0-9]' /etc/inittab
2、grep -v '[0-9]' /etc/inittab
3、grep -v '^#' /etc/inittab 把不以“#”开头的行显示
4、grep -v '^#' /etc/sos.conf|grep -v '^$' 把“^”放在[]外,表示以“什么”开头,放在里面表示括号内数字的反集
5、grep '^[^a-zA-Z]' test.txt 非英文字母
6、grep 'r.o' test.txt “.”表示任意字符
7、grep 'oo*' test.txt “*”表示匹配*左边的字符重复n次
8、grep '.*'test.txt 表示匹配任意字符
9、grep 'o\{2\}' /etc/passwd 表示匹配连续两个字符“o”
10、egrep 'o{2}' /etc/passwd 表示匹配大括号前字符的重复范围,同上
11、egrep 'o+' /etc/passwd “+”前面字符重复一次或多次
12、egrep 'oo?' /etc/passwd “?”前面字符重复一次或零次
13、egrep 'root|nologin' /etc/passwd “|”表示或者
14、egrep '(oo){2}' /etc/passwd