我在sun Solaris上运行以下命令(在Linux上运行OK)但在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 Solaris上与选项grep -o
相同的选项(匹配字符串捕获)
利迪娅
答案 0 :(得分:3)
Solaris grep似乎没有这样的选项。如果你只是需要在一些solaris盒子上运行,也许他们安装了GNU grep? (例如,这个有/usr/local/gnu/bin/grep
)。
如果你需要在任何solaris下运行,你就不能使用grep。也许可以使用sed和awk?
答案 1 :(得分:1)
太阳的^ W ^ WOracle的grep
不会这样做。您需要下载GNU grep版本,最好是从sunfreeware.com下载。
答案 2 :(得分:0)
nawk '{
for(i=1;i<=NF;i++){
if($i == "your pattern") {
print $i
}
}
}' file
答案 3 :(得分:0)
在Solaris,(OpenSolairs,OpenIndiana等)中,你应该使用这样的命令:
find . | xargs grep 'somestring'
这会让你得到你想要的东西。