grep的用法

来源:互联网 发布:ubuntu 关闭图形界面 编辑:程序博客网 时间:2024/05/16 17:25

1.从单个文件中搜索指定的字串

grep的基础用法是如下例的从指定的文件中搜索特定的字串。

语法:
grep "literal_string" filename

2. 在多个文件中检索指定的字串

语法:
grep "string" FILE_PATTERN

3. 用 grep -i 进行大小写无关的搜索

语法:
grep -i "string" FILE

4. 使用用正则表达式

语法:
grep "REGEX" filename

5. 用grep -w搜索整个词,而不是词中的部分字串

使用-w选项搜索一个单词,并且避免搜索到词中的部分字串。

6. 使用grep -A, -B and -C显示之前、之后、前后的几行

6.1 显示匹配行之后的N行

-A

语法:
grep -A "string" FILENAME

6.2显示匹配行之前的N行

-B

语法:
grep -B "string" FILENAME

6.3显示匹配行前后的N行

-C

语法:
grep -C "string" FILENAME

7.通过GREP_OPTIONS高亮显示搜索的字串

8. 用grep -r递归搜索全部的文件

语法:
grep -r "string" *

9. 使用grep -v进行不匹配

可以使用-v选项显示不匹配搜索字串的行。下例显示demo_text文件中不包含“go”的行

$ grep -v "go" demo_text

10. 显示不匹配全部模式的行

语法:
grep -v -e "pattern" -e "pattern"

11.用grep -c 统计匹配的行数

语法:
grep -c "pattern" filename

12. 用grep -l 只显示文件名

语法:
grep -l -r "string"
or
grep -l "string" filename

13. 只显示匹配的字串

缺省显示匹配字串的所在行,可以使用-o选项只显示匹配的字串。这项功能当使用正则表达式时比较有用处。

$ grep -o "is.*line" demo_file

14. 显示匹配的位置

语法:
grep -o -b "pattern" file

15. 用 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更快
0 0
原创粉丝点击