Linux三剑客之一——grep及正则表达式的学习

1.grep理论

1.1 grep作用

grep是文本搜索工具,根据用户指定的“模式(过滤条件)”进行匹配检索,打印匹配到的行

模式:由正则表达式的元字符和文本字符所编写的过滤条件

1.2 grep参数及说明

参数选项 解释说明
-v 反向查找,输出与查找条件不相符的行
-n 显示匹配行号
-c 匹配的行数
-o 只显示匹配项
-E 使用正则表达式
-w 只匹配过滤的单词
-i 不区分大小写
-f 对比两个文件的相同行
-r 递归匹配
-A 匹配的后多少行
-B 匹配的前多少行
-C 前后多少行都匹配
-r 快速查找,不处理链接文件
-R 快速查找,处理链接文件

1.3 基本正则表达式BRE集合

符号 作用
^ 如“^old”,匹配以old单词开头的行
$ 如“old$”,匹配以old单词结尾的行
^$ 空格
. 匹配任意一个且只有一字符,不能匹配空行
\ 转义字符
* 匹配前一个字符(连续出现)0次或1次以上,即匹配所有内容
.* 匹配所有内容
^.* 匹配任意多个字符开头内容
.*$ 匹配任意多个字符结尾内容
[abc] 匹配abc任意一个
[^abc] 匹配除了abc以外的

1.4 扩展正则表达式ERE集合

符号 作用
+ 匹配前一个字符一次或多次
[:/] 匹配括号内:或者/字符1次或多次
匹配前一个字符0次或者1次
() 分组过滤,被括起来的内容表示一个整体
\ 表示或者,同时过滤多个字符串
a{n,m} 匹配前一个字符最少n次,最多m次
a{n,} 匹配前一个字符最少n次
a{n} 匹配前一个字符正好n次
a{,m} 匹配前一个字符最多n次

 

2.grep实践

2.1 grep基本参数

2.2 grep正则表达式

grep  ‘4* test.txt

 

匹配所有4,显示未匹配的行和空白行

 

 grep -E  '4+'  test.txt

 

 跟'*'对比,未显示空白行

 

 grep '4.' test.txt

 

 匹配4和4后的一个字符

 

 grep '4.*' test.txt

 

 

 

 

 

 匹配4和以后所有的内容

 

“|”的用法

 

 

()的用法

 

 

 

a{n,m}


注意为{ }

3.总结

grep是运维经常用到的命令,正则表达式也是重要的,需要重点掌趣,多看,并且多多完善这篇博客,以便于日后的学习与复习

 

posted @ 2022-09-18 20:32  羽喬  阅读(36)  评论(0编辑  收藏  举报
levels of contents