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