Назад | Перейти на главную страницу

grep на IP-адрес, если 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-адрес из параметра (IP_ADDRESS)?

как добавить обратную косую черту в этом случае

IP_ADDRESS = 192.2.34.2 или IP_ADDRESS = 192.2.34.20 ... и т. Д.

    #  ifconfig -a |  /usr/xpg4/bin/grep   "$IP_ADDRESS "

Если вы используете оболочку bash, вы можете использовать расширение параметра:

ifconfig -a | /usr/xpg4/bin/grep "${IP_ADDRESS//./\\.}"

Если ваша оболочка не поддерживает этот тип расширения параметров, вы можете вместо этого использовать расширение оболочки, например с 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'`