如何递归地grep所有目录和子目录?
find . | xargs grep "texthere" *
如何递归地grep所有目录和子目录?
find . | xargs grep "texthere" *
当前回答
把我的两分钱扔在这里。正如其他人已经提到的那样,grep-r并不适用于所有平台。这听起来可能很傻,但我总是使用git。
git grep "texthere"
即使目录没有暂存,我也只是暂存并使用git grep。
其他回答
在POSIX系统中,找不到grep的-r参数和grep-rn“东西”。不会运行,但如果使用find命令,它将:
查找-键入f-exec grep-n“stuff”{}\-打印
Solaris和HP-UX同意。
我想这就是你想写的
grep myText $(find .)
如果你想找到grep命中的文件,这可能是其他有用的东西
grep myText $(find .) | cut -d : -f 1 | sort | uniq
在IBM AIX Server(操作系统版本:AIX 5.2)中,使用:
find ./ -type f -print -exec grep -n -i "stringYouWannaFind" {} \;
这将打印出文件中的路径/文件名和相对行号,如:
./inc/xxxx_x.h
2865:/**描述:stringYouWanna查找*/
无论如何,这对我来说很有用:)
下面是在Unix和Linux环境中递归搜索字符串的命令。
对于UNIX命令是:
find . -name "string to be searched" -exec grep "text" "{}" \;
对于Linux,命令是:
grep -r "string to be searched" .
对于.gz文件,递归扫描所有文件和目录更改文件类型或放置*
find . -name \*.gz -print0 | xargs -0 zgrep "STRING"