grep的用法
1.从单个文件中搜索指定的字串
grep的基础用法是如下例的从指定的文件中搜索特定的字串。
语法:
grep "literal_string" filename
2. 在多个文件中检索指定的字串
语法:
grep "string" FILE_PATTERN3. 用 grep -i 进行大小写无关的搜索
语法:
grep -i "string" FILE4. 使用用正则表达式
语法:
grep "REGEX" filename5. 用grep -w搜索整个词,而不是词中的部分字串
使用-w选项搜索一个单词,并且避免搜索到词中的部分字串。
6. 使用grep -A, -B and -C显示之前、之后、前后的几行
6.1 显示匹配行之后的N行
-A
语法:
grep -A "string" FILENAME6.2显示匹配行之前的N行
-B
语法:
grep -B "string" FILENAME6.3显示匹配行前后的N行
-C
语法:
grep -C "string" FILENAME7.通过GREP_OPTIONS高亮显示搜索的字串
8. 用grep -r递归搜索全部的文件
语法:grep -r "string" *9. 使用grep -v进行不匹配
可以使用-v选项显示不匹配搜索字串的行。下例显示demo_text文件中不包含“go”的行
$ grep -v "go" demo_text10. 显示不匹配全部模式的行
语法:
grep -v -e "pattern" -e "pattern"11.用grep -c 统计匹配的行数
语法:
grep -c "pattern" filename12. 用grep -l 只显示文件名
语法:
grep -l -r "string"orgrep -l "string" filename13. 只显示匹配的字串
缺省显示匹配字串的所在行,可以使用-o选项只显示匹配的字串。这项功能当使用正则表达式时比较有用处。
$ grep -o "is.*line" demo_file14. 显示匹配的位置
语法:
grep -o -b "pattern" file15. 用 grep -n 在输出时显示行号
行号从1开始
$ grep -n "go" demo_text
cgrep:Greps on all local C/C++ files
ggrep:Greps on all local Gradle files
jgrep:Greps on all local Java files
resgrep:Greps on all local res/*.xml files
sgrep:Greps on all local source files
godir:Go to the directory containing a file
比grep更快