如何在UNIX下按内容查找文件
时间:2020-01-09 10:45:59 来源:igfitidea点击:
在阅读源代码时,如何通过诸如字符串或者单词之类的内容(在UNIX shell提示符下,诸如main()之类的函数名称)查找文件?
您需要使用以下工具:
grep 命令
:打印与模式匹配的行。find命令
:在目录层次结构中搜索文件。
grep命令按内容查找文件
执行命令,如下所示:
grep 'string' *.txt grep 'main(' *.c grep '#include<example.h>' *.c grep 'getChar*' *.c grep -i 'ultra' *.conf grep -iR 'ultra' *.conf
其中
- -i:忽略PATTERN(匹配有效,VALID,ValID字符串)和输入文件(math file.c FILE.c FILE.C文件名)中的大小写区别。
-R
:递归地读取每个目录下的所有文件
突出显示搜索模式
搜索大量文件时,可以轻松突出显示模式:
$ grep --color=auto -iR 'getChar();' *.c
显示搜索模式的文件名和行号
您可能还需要显示文件名和数字:
$ grep --color=auto -iRnH 'getChar();' *.c
其中:
- -n:在输出的每一行之前,在其输入文件中添加基于1的行号。
-H
打印每次匹配的文件名。当要搜索多个文件时,这是默认设置。
$grep --color=auto -nH 'DIR' *
您也可以使用find命令:
$ find . -name "*.c" -print | xargs grep "main("