在Linux上,Solaris相当于grep的-o选项

我在sun Solaris上运行以下(在Linux上运行正常),而不是在sun Solaris上运行

name="(WORD = (TCPIP = (PROTOCOL = TCP)(WORD = ALIAS_NAME)(PORT = 10234))" echo $name | grep -o "(WORD = (TCPIP = (PROTOCOL = TCP)(WORD = ALIAS_NAME)(PORT = 10234))" grep: illegal option -- o Usage: grep -hblcnsviw pattern file . . . 

我的问题是哪个选项与sun选项相同grep -o (匹配string捕获)

利迪娅

    Solaris grep似乎没有这样的选项。 如果你只是需要这个在一些solaris盒子上运行,也许他们安装了GNU grep? (例如这个在/usr/local/gnu/bin/grep )。

    如果你需要在solaris下运行,你不能使用grep。 也许sed和awk可以使用?

    Sun的^ W ^ WOracle的grep不这样做。 您需要下载GNU grep版本,最好从sunfreeware.com下载 。

    那么你可以使用“老派”方式。 检查每个单词,并检查你的模式

     nawk '{ for(i=1;i<=NF;i++){ if($i == "your pattern") { print $i } } }' file 

    在Solaris中(OpenSolairs,OpenIndiana等),你应该使用如下命令:

     find . | xargs grep 'somestring' 

    那会给你你以后的样子。