linux三剑客之grep (一)

1.grep普通搜索匹配:

grep “root” password
在这里插入图片描述
递归搜索:grep -r “root” .

会在当前目录下的文件中和子目录的文件中进行搜索,搜索结果中最前面显示的是文件名
在这里插入图片描述

排除搜索:grep -r --exclude-dir=“test” “root” .

–exclude-dir="test"会排除当前目录下的test目录
在这里插入图片描述

忽略大小写:grep -i “root” password

-i 表示忽略大小写
在这里插入图片描述

要是只输出匹配的单词:grep -o ‘root’ passwd

-o表示只输出当前匹配的字母
在这里插入图片描述

grep -n ‘root’ passwd

-n表示输出行号
在这里插入图片描述

grep “root” -A 2 passwd

-A表示匹配当前行后面几行
在这里插入图片描述

grep “root” -C 2 passwd

-C表示匹配当前行前后的几行
在这里插入图片描述

grep -c “bin” passwd

-c输出匹配到的行的数量:
在这里插入图片描述

grep -v “grep” passwd

-v不显示匹配到的,也就是取反
在这里插入图片描述

grep -f 123.txt passwd

-f指定文件名,可以写多个正则,每行一个,匹配到的行都会输出

2.常见的正则匹配

a. grep基本的正则符号:[ ] , ^ , $ , . , * , \?, \+, \{min,max\}, \|, \(\), \
[0-9a-zA-Z] :表示匹配任意一个大小写字母数字和数字
^ :表示匹配行的开始
$ : 表示匹配行的结束
. : 表示匹配任意单个字符
* : 表示匹配前面字符0个户或多个

在这里插入图片描述
在这里插入图片描述
b.grep扩展正则:
grep的扩展正则符号:?,+,(),{n,m},|
要用扩展正则必须加上参数 -E或者直接使用egrep
+号的使用:
在这里插入图片描述
| 的使用:ro(o|t)表示匹配roo或者rot
在这里插入图片描述
egrep的使用:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43534980/article/details/111706302