Я хочу, чтобы разобрать значение Mikrotik, вот что я получил: Но, когда я проверяю нет имени хоста в IP 192.168.10.5Анализировать по шаблону, Sed
active-address=192.168.10.1
active-mac-address=XX:XX:XX:XX:XX:XX
host-name="oXXXXX"
active-address=192.168.10.2
active-mac-address=XX:XX:XX:XX:XX:XX
host-name="ZXXXXX"
active-address=192.168.10.3
active-mac-address=XX:XX:XX:XX:XX:XX
host-name="OXXXXX"
active-address=192.168.10.4
active-mac-address=XX:XX:XX:XX:XX:XX
host-name="AXXX"
active-address=192.168.10.5
active-mac-address=XX:XX:XX:XX:XX:XX
active-address=192.168.10.6 <-- This is should be host-name
active-mac-address=XX:XX:XX:XX:XX:XX
host-name="TXXXX"
Я хочу, чтобы добавить строку host-name="-"
после макинтоша -адрес ИС 192.168.10.5
узор всегда же, как и что ..
active-address=192.168.10.1
active-mac-address=XX:XX:XX:XX:XX:XX
host-name="oXXXXX"
active-address=192.168.10.2
active-mac-address=XX:XX:XX:XX:XX:XX
host-name="ZXXXXX"
active-address=192.168.10.3
active-mac-address=XX:XX:XX:XX:XX:XX
host-name="OXXXXX"
active-address=192.168.10.4
active-mac-address=XX:XX:XX:XX:XX:XX
host-name="AXXX"
active-address=192.168.10.5
active-mac-address=XX:XX:XX:XX:XX:XX
host-name="-" <--- I want to append
active-address=192.168.10.6
active-mac-address=XX:XX:XX:XX:XX:XX
host-name="TXXXX"
Как я могу это сделать?
Да! Да!! Спасибо вам!! Спасибо!! Ааах, я действительно счастлив !!! Спасибо, что решили мою проблему !! –
Это не удастся, если отсутствует имя хоста из последнего блока в файле. Это не универсальное sed, btw - использование '\ n' не переносимо, и некоторые seds (например, в Solaris) также задушили бы некоторые из других конструкций:' sed: команда garbled:/active-mac-address/{ N;!/s/\ п/\ nhost-имя-имя хоста/= "-" \ п /} '. –
@ EdMorton Да, я заметил это, но команда станет немного непослушной, если она будет в конце. Также я не знал, что '/ n' не был переносимым, знаете ли вы какую-либо альтернативу? – 123