Я ищу, чтобы извлечь имя хоста и IP-адрес из каждой строки в файле данных, имя хоста будет извлечено из cn=mykosts001
т.е. mykosts001
и IP-адрес ipHostNumber=192.168.18.118
т.е. 192.168.18.118
.
Ниже приведен файл, содержащий данные ..
$ cat hosts.tx
dn: cn=mykosts001+ipHostNumber=192.168.18.118,ou=hosts,ou=corp,ou=services,o=rocks.com
dn: cn=mykosts002+ipHostNumber=192.168.18.119,ou=hosts,ou=corp,ou=services,o=rocks.com
dn: cn=mykosts003+ipHostNumber=192.168.18.120,ou=hosts,ou=corp,ou=services,o=rocks.com
dn: cn=mykosts004+ipHostNumber=192.168.18.121,ou=hosts,ou=corp,ou=services,o=rocks.com
EDIT:
dn: cn=mykosts005+ipHostNumber=192.168.18.122,ou=hosts,ou=corp,ou=services,
o=rocks.com
для отредактированной выше строки, в этом случае, когда o=rocks.com
подходит к другой строке, она также печатает rocks.com
, как это происходит после =
.
Что я пробовал:
$ cat hosts.tx | sed '/^$/d' | cut -d"=" -f2-3
mykosts001+ipHostNumber=192.168.18.118,ou
mykosts002+ipHostNumber=192.168.18.119,ou
mykosts003+ipHostNumber=192.168.18.120,ou
mykosts004+ipHostNumber=192.168.18.121,ou
Я попробовал выше, но не понял, как получить имя хоста и IP.
Желаемый вывод:
mykosts001 192.168.18.118
mykosts002 192.168.18.119
mykosts003 192.168.18.120
mykosts004 192.168.18.121