grep主要用于模式匹配,搜索匹配的文本。
1. 基本使用
选项
选项 | 说明 |
---|---|
-i | 忽略字符大小写 |
-v | 除去匹配的字符串行 |
-l | 查找匹配的字符串在哪个文件中 |
-L | |
-c | 统计匹配到的字符串的行数 |
—color | 匹配到的字符串飘红,默认—color=auto |
-E | 用正则表达式匹配 |
-o | 只输出匹配到的字符串,默认是输出匹配的字符串所在的行 |
-n | 输出匹配到的字符串所在行,包括匹配的行号 |
-rn | 递归查找匹配的字符串,-r表示递归,-n表示行号 |
—include | 在搜索结果中,包括或排除指定文件 |
—exclude | |
—exclude-from | |
示例
grep -i
grep -v
grep "test" test.log # 在当前目录下,搜索test.log文件中有“test”字符串的行
grep "test" test01.txt text02.txt test03.txt # 在当前目录下,在文件test01.txt,test02.txt,test03.txt中搜索包含"test"字符串的行
grep "test" * # 搜索当前目录下,所有文件中包含"test"字符串的行
grep -v "test" test.log # 在当前目录下,搜索test.log文件中不包含test字符串的行
grep -rn "test" * # 在当前目录及其子目录下,查找所有包含“test”字符串的行及行号
grep "test" . -r --include *.{php, html} # 在当前目录中,所有以php和html结尾的文件中,递归查找包含“test”字符串的行
grep "test" . -r --exclude "README" # 在当前目录中,除README文件外,递归查找所有包含“test”字符串的行
grep "test" . -r --exclude-from filelist # 在当前目录中,除filelist文件列表中的文件外,递归查找所有包含“test”字符串的行