grep主要用于模式匹配,搜索匹配的文本。
1. 基本使用
选项
| 选项 | 说明 |
|---|---|
| -i | 忽略字符大小写 |
| -v | 除去匹配的字符串行 |
| -l | 查找匹配的字符串在哪个文件中 |
| -L | |
| -c | 统计匹配到的字符串的行数 |
| —color | 匹配到的字符串飘红,默认—color=auto |
| -E | 用正则表达式匹配 |
| -o | 只输出匹配到的字符串,默认是输出匹配的字符串所在的行 |
| -n | 输出匹配到的字符串所在行,包括匹配的行号 |
| -rn | 递归查找匹配的字符串,-r表示递归,-n表示行号 |
| —include | 在搜索结果中,包括或排除指定文件 |
| —exclude | |
| —exclude-from | |
示例
grep -igrep -vgrep "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”字符串的行
