Solaris + 适用于Solaris的egrep

Solaris + 适用于Solaris的egrep

在 Linux 机器上,我使用此语法,以便匹配所有有效的 ip。

我的问题:需要对egrep命令进行哪些更改才能在Solaris上运行egrep?

根据egrep手册页,“-o”不是合法的选项。

Solaris 的替代方案是什么?

     regex="(1?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])\.(1?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])\.(1?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])\.(1?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])"

     egrep  -o  `echo $regex` file

文件示例

32)5.500.5.5*kjcdr
##@$1.1.1.1+++jmjh
1.1.1.1333
33331.1.1.1
@5.5.5.??????
~3de.ede5.5.5.5
1.1.1.13444r54
192.9.30.174
&&^#%5.5.5.5
:5.5.5.5@%%^^&*
:5.5.5.5:
**22.22.22.22
172.78.0.1()*5.4.3.277

答案1

在我的 Solaris 系统上,甚至 xpg4 版本grep也不包含该-o选项。

但如果您安装了 SUNWggrp 软件包,您会发现 GNU egrep 可以作为/usr/sfw/bin/gegrep.

相关内容