Linux
當參數中有 IP 地址時 grep 到 IP 地址
我需要 grep 到 IP 地址(如下例),我使用 ksh 腳本,
# ifconfig -a | /usr/xpg4/bin/grep "100\.106\.2\.120 " inet 100.106.2.120 netmask ffffff00 broadcast 100.106.2.255
但是如何從參數(IP_ADDRESS)中獲取 IP 地址?
- 備註 - IP 地址可以是任何 IP
在這種情況下如何添加反斜杠
IP_ADDRESS=192.2.34.2 或 IP_ADDRESS=192.2.34.20 …等
# ifconfig -a | /usr/xpg4/bin/grep "$IP_ADDRESS "
如果您使用的是 bash shell,則可以使用參數擴展:
ifconfig -a | /usr/xpg4/bin/grep "${IP_ADDRESS//./\\.}"
如果您的 shell 不支持這種類型的參數擴展,您可以改用 shell 擴展,例如使用 sed:
ifconfig -a | /usr/xpg4/bin/grep `echo $IP_ADDRESS | sed 's/\./\\./g'`
或 perl:
ifconfig -a | /usr/xpg4/bin/grep `echo $IP_ADDRESS | perl -pne 's/\./\\./g'`