linux只在文本文件中查找字符串
通用
如果不分文件类型,那么查找命令是:
grep -r "mytext" [folder]
但是上面的这个命令会搜索所有的文件,包括二进制文件,这不是我们所希望的,通常我们搜索字符串都是在文本文件中,所以要把命令调整:
find -type f -exec grep "mytext" -Il . {} \;
上面是linux的命令格式,如果是在mac下面有稍许的不同:
find . -type f -exec grep "mytext" -Il {} \;
上面的命令式结合find命令,将find的结果和grep结合在最后找到所有含有 mytext这个字符串的文件。
需要注意的是{}和\之间是有空格的,并且最后的分号不可以少掉,-I后面的是L的小写,不是1 2 3的1.
这里的-I是告诉grep忽略所有的二进制文件。
某一类型的文件
例如只在 .cpp文件中
find -type f -name *.cpp -exec grep "mytxt" -Il . {} \;
如果是.txt,
find -type f -name *.txt -exec grep "mytxt" -Il . {} \;
完。
版权所有,禁止转载. 如需转载,请先征得博主的同意,并且表明文章出处,否则按侵权处理.