grep 命令
grep的全称是global regular expression print,是linux中最强大的文本搜索命令之一,常用于搜索文本文件中是否含有某些特定模式的字符串。该命令以行为单位读取文本并使用正则表达式进行匹配,匹配成功后打印出该行文本。
【命令格式】
grep [option] "string_to_find" filename
常见选项:
(1)-i:忽略搜索字符串的大小写
(2)-v:取反,即输出不匹配的那些文本行
(3)-n:输出行号
(4)-l:输出能够匹配模式的文件名,相反的选项为-L
(5)-q:静默输出
举例:(在当前目录下存在一个文件 dir.txt.内容如下:


说明
grep -I test dir.txt 查找dir.txt 文件中包含字符test的行
Grep -in test dir.txt 查找dir.txt文件中包含字符test的行,前面加行号
Grep -c test dir.txt 统计dir.txt 文件中包含test字符的行数
递归搜索,常用语在一个目录下搜索包含有特定字符的文件;
使用 -r 选项 后面的文件名称用一个目录替代
举例:再建立一个文件 dir1.txt 内容 test three test four
Grep -r test dir.txt

指定排除文件
(1)--include:指定需要搜索的文件
(2)--exclude:排除需要搜索的文件
(3)--exclude-dir:排除需要搜索的目录
1)搜索src目录中.c和.cpp文件中的含有main的行:
grep -r "main" ./src --include *.{c,cpp}
(2)搜索src目录中含有main的行,但不搜索readme文件:
grep -r "main" ./src --exclude "readme"
(3)搜索src目录中含有main的行,但不搜索.git文件夹:
grep -r "main" ./src --exclude-dir ".git"
仅做标记。
1871

被折叠的 条评论
为什么被折叠?



