一正则表达式
用来检索·替换那些符合某个模式(规则)的文本。
二。特点
1 灵活性。逻辑性和功能性非常强
2可以迅速用极简的方式达到字符串的复杂控制
三实例(Extend规范)
qq 邮箱:cat file | grep -E --color ‘^1[0-9]{5,12}qq.com$'
ip地址 cat file | grep -E --color '^[1-2][0-9]{0,2}(.[0-9]{1,3}){3}$'
网易邮箱cat file | grep -E --color '^[a-zA-Z1-9_]{1,}@163.com$'
四。标准正则(Basic)与扩展正则(Expend)
1,对于?+(){} | 在扩展正则中是特殊符号,在标准正则中作为一般字符,要表示特殊含义需要加\
2,如果使用grep(非egrep)且不用-E选项,则编写正则表达式时遵守Basic准则;
3,sed流式编辑器中遵守Basic规范;
五。grep选项与正则表达式的配合实例;
-i:不区分大小写;
[lianjiao@localhost 6_29_Regular]$ echo "HELLO WORD" | grep -i --color "hello"
HELLO WORD
-e:进行多项查找:
[lianjiao@localhost 6_29_Regular]$ echo "register people" | grep --color -e "re" -e "pe"
register people
[lianjiao@localhost 7_3_sed]$ cat file | grep -E -n --color 'p'
1:productA 50
2:productB 70
3:productC 30
4:productD 80
5:productE 50
6:productF 50
-o:只列出匹配的字符(注意一行中有多个匹配字符就会展开)
[lianjiao@localhost 7_3_sed]$ cat file | grep -E -o --color 'p'
p
p
p
p
p
p
[lianjiao@localhost 7_3_sed]$ cat file | grep -E -c --color 'p'
6
-1:搜索多个文件并查找匹配文件在哪个文件中
[lianjiao@localhost 7_3_sed]$ grep -E -1 --color 'p' file1 file
file1:ppp
file1-ccc
file1-ddd
file1:ppgdghjs
--
file:productA 50
file:productB 70
file:productC 30
file:productD 80
file:productE 50
file:productF 50
-q:grep静默输出
grep -q "test" file
显示匹配某个结果之后的n行 --- -A n;
显示匹配某个结果之前的n行 --- -B n;
显示匹配某个结果前3行和后3行 --- -C n;
[lianjiao@localhost 7_3_sed]$ cat file | grep -E -2 --color 'productC'
productA 50
productB 70
productC 30
productD 80
productE 50
[lianjiao@localhost 7_3_sed]$ cat file | grep -E -A 2 --color 'productC'
productC 30
productD 80
productE 50
[lianjiao@localhost 7_3_sed]$ cat file | grep -E -B 2 --color 'productC'
productA 50
productB 70
productC 30
[lianjiao@localhost 7_3_sed]$ cat file | grep -E -C 2 --color 'productC'
productA 50
productB 70
productC 30
productD 80
productE 50