Помимо приведенного выше решения, вы можете преобразовать несколько имен хостов в IP с помощью приведенного ниже сценария, единственной зависимостью является команда «ping» в ядре Unix:
getip(){ ping -c 1 -t 1 $1 | head -1 | cut -d ' ' -f 3 | tr -d '()' 2>&1 | tee >> /tmp/result.log & }
getip 'hostname.number1.net'
getip 'hostname.number2.net'
getip 'hostname.number3.net'
getip 'hostname.number4.net'
getip 'hostname.number5.net'
getip 'hostname.number6.net'
getip 'hostname.number7.net'
getip 'hostname.number8.net'
$ cat /tmp/result.log
ABC.DEF.GHI.XY1
ABC.DEF.GHI.XY2
ABC.DEF.GHI.XY3
ABC.DEF.GHI.XY4
ABC.DEF.GHI.XY5
ABC.DEF.GHI.XY6
ABC.DEF.GHI.XY7
ABC.DEF.GHI.XY8
+FORMAT
описывает вывод, а не то, как анализируется аргумент -d
. Если вы хотите убедиться, что он анализируется так, как вы хотите, вы должны передать ему однозначное представление