格式:
grep [ -E | -F ] [ -i ] [ -h ] [ -s ] [ -v ] [ -w ] [ -x ] [ -y ] [ [ [ -b ] [ -n ] ] | [ -c | -l | -q ] ] [ -p [ Separator ] ] { [ -e PatternList ... ] [ -f PatternFile ... ] | PatternList ... } [ 文件... ]
初一看,发现选型有点多,但实际上,比较常用的就那么几个。
-c
显示匹配行的计数。
grep -c "quark" a.txt // 查询a.txt文件中匹配“quark”的行数
-E/-e
-E,将匹配模式视作扩展的正则表达式,-e则是基本的正则表示式。
实验发现-E的确很好用,比如支持"q.{3}k"匹配"quark",但是-e下,不支持匹配。
-F
将匹配模式字符串视作字符串,而不是正则表达式
-i
匹配时忽略字母的大小写。
这是也很实用的选项
-h
禁止在匹配行的前面附件此行所在的文件名称。
-n
在匹配行的前面,放置该行所在的行号
-s
禁止错误信息,通常是文件不存在或者不可读取的错误信息
-v
显示所有与指定模式不匹配的行
-r
递归遍历子目录下的所有文件,很有用。
![](https://img2024.cnblogs.com/blog/35695/202403/35695-20240328092537879-1189167464.jpg)