Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по Linux (http://forum.oszone.net/forumdisplay.php?f=9)
-   -   SED + XML (http://forum.oszone.net/showthread.php?t=282899)

cantido 30-05-2014 01:01 2357550

SED + XML
 
Всем привет
Есть вот такой файл
Код:


 <IIsWebServer  Location ="/LM/W3SVC/100"
                ServerBindings="192.168.1.1:80:host.ca
                192.168.1.1:80:www.host.ca"
                ServerComment="host.ca"
          >
 </IIsWebServer>
 <IIsWebVirtualDir      Location ="/LM/W3SVC/100/Root"
    AccessFlags="AccessRead | AccessScript"
      AppFriendlyName=""
      AppIsolated="2"
        AppPoolId=".NET 1.1 AppPool"
        AppRoot="/LM/W3SVC/100/Root"
          AuthFlags="AuthAnonymous | AuthNTLM"
          DefaultDoc="main.html,Default.htm,Default.asp,Default.aspx"
            DirBrowseFlags="DirBrowseShowDate | DirBrowseShowTime | DirBrowseShowSize | DirBrowseShowExtension | DirBrowseShowLongDate | EnableDefaultDoc"
            HttpCustomHeaders="IISExport: This web site was exported using IIS Export v4.2
                      X-Powered-By: ASP.NET"
              Path="G:\wwwroot\host.ca"
                UNCPassword="4963446250000000060000004000000047130fbca69e30001123ca9169cddd51ae94eb333f90feb0d49ffc396e1ddbb36d29e71d40adae6721c6c7a9ad18558c37c38      6a332789d0adad9a1828fe47fa5f2be1403f949e05d"
        >
  </IIsWebVirtualDir>

Задача следующаю мне нужно его через sed распарсить так что бы была показана только переменная ServerBindings, а точнее то что между ее кавычек
Погуглил нашел. Вот такое


Код:

cat 1.xml | grep -e \.\*ServerBindings=\"\.\* | sed s/.*ServerBindings=\"//
Ответ вот такой
192.168.1.1:80:host.ca

но проблема в том что показывает только одну строку, а аттрибут записан в несколько.

Подскажите как быть

Kent 30-05-2014 11:04 2357663

Если в разбито только на две строки, то будет работать так (с вашим файлом):
Код:

grep -A1 ServerBindings 1.xml | sed 's/ServerBindings=//;s/^[ ^t]*//;s/\"//'


Время: 00:49.

Время: 00:49.
© OSzone.net 2001-