Solaris
solaris + grep 在 solaris 中的語法
我的目標是與 solaris 和 linux 上的 hosts 文件中的字元串 snmpmanager 完全匹配
以下命令適用於 Linux (red-hat 5.1) 但不適用於 SunOS,請告知如何使語法適合 solaris?
來自 solaris 作業系統的範例
grep -icE '(^|[[:space:]])snmpmanager($|[[:space:]])' /etc/hosts grep: illegal option -- E
在我修復它之後
egrep -i '(^|[[:space:]])snmpmanager($|[[:space:]])' /etc/hosts or egrep -i '(^|[\s])snmpmanager($|\s])' /etc/hosts or egrep -i '(^|[\t])snmpmanager($|\t])' /etc/hosts
但我沒有得到任何匹配輸出(但 snmpmanager 已在主機文件中定義)??
我的主機文件
10.170.10.5 loghost 10.170.10.61 Master SyslogSer vip Tcc NtpServer1 NtpServer2 snmpManager snmpManagerPA1 snmpManagerPA2
我不認為標準的 Solaris (e)grep 理解
[[:space:]]
語法,所以你必須使用類似的東西egrep -i (^| |<-TAB->)snmpmanager($| |<-TAB->)
<-TAB->
在哪裡Ctrl-V``Tab
如果您使用 /usr/xpg4/bin/egrep 那麼它按預期工作。
/usr/xpg4/bin/egrep -i '([[:space:]])snmpmanager($|[[:space:]])' /etc/hosts
使用
egrep -ic
而不是grep -icE
. 請注意, -i 使匹配不區分大小寫,這可能是您想要的,也可能不是您想要的,具體取決於您對“完全”的定義