Eri*_*son 21 grep solaris recursive
在我们的 Solaris 服务器上,我发现这grep -r不起作用,这是我使用grep. 似乎egrep具有相同的行为。
鉴于我无法控制机器,有没有办法grep执行递归搜索?还是我需要将输出通过管道传输find到 into grep?
jll*_*gre 34
如果你想使用find,这将是最快的方法:
find . -type f -exec grep pattern {} +
Run Code Online (Sandbox Code Playgroud)
但是,您的机器上很可能已经安装了 Gnu grep。
它是 Solaris 11 中默认安装的一部分/usr/gnu/bin/grep。Solaris 10 也是如此,您可以在/usr/sfw/bin/ggrep. 在较旧的版本上,它可能是从 sunfreeware 或其他存储库安装的,请检查/usr/local/bin/grep和/opt/csw/bin/grep查找常见位置。
如果已安装,请改用ggrep。
例如,从当前目录到所有子目录 ( -R)搜索“mysearchstring” ,并显示匹配项 ( -H)的文件名和路径,并忽略二进制文件 ( -I)。不要忘记*命令末尾的 。
/usr/sfw/bin/ggrep -H -R -I "mysearchstring" *
Run Code Online (Sandbox Code Playgroud)
ggrep 位于/usr/sfw/bin
您可以使用 EXPORT 命令将其添加到您的配置文件中,以便您可以直接从命令行调用它。
PATH=$PATH:/usr/sfw/bin
export PATH
Run Code Online (Sandbox Code Playgroud)
Solaris 版本:SunOS 5.10 Generic_147440-13 sun4u sparc SUNW,SPARC-Enterprise