у меня на работе следующая проблема:
у нас есть файл xml, из которого мы читаем информацию, такую как имя хоста, адрес и адрес ОС, через xmlstarlet и перенаправляем их в отдельный файл.
это сценарий:
xmlstarlet sel -t -m "//host" -m "hostnames/hostname" -v "@name" -b -o "|" -v "address[@addrtype='ipv4']/@addr" -o "|" -v "os/osmatch[1]/@name" -n nmap.xml > newfile
теперь у нас есть 3 информации в каждой строке, разделенных | как
imahost|192.168.50.6|windows
некоторые серверы не имеют имени хоста, а только ip и os, как
|192.168.50.7|windows
, тогда мы вырезали имя хоста и ip из файла, где f1 - имя хоста и f2 похож на ip:
cat newfile | cut -d"|" -f1,2
это выглядит так
imahost|192.168.50.6
|192.168.50.7
...
если имя хоста недоступно, как во второй строке, ip должен быть вставлен в первую позицию как
imahost|192.168.50.6
192.168.50.7|192.168.50.7
...
как нам это сделать? ^^
Заранее благодарю за каждый полезный ответ