LinuxForum.Fans
Тема

Вывод \ в XML-файле

Автор: 4ubaka4ub 6 сообщений 1619 просмотров
#331885

Есть такой вот XML-файл

</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\trimurti.ca" UNCPassword="4963446250000000060000004000000047130fbca69e30001123ca9169cddd51ae94eb333f9
0feb0d49ffc396e1ddbb36d29e71d40adae6721c6c7a9ad18558c37c386a332789d0adad9a1828fe
4
7fa5f2be1403f949e05d">

Мне один из участников форума написал скрипт, вот это он

#!/bin/bash

read_file () {
local IFS=\>
read -d \< ENTITY CONTENT
local RET=$?
TAG_NAME=${ENTITY%% *}
ATTRIBUTES=${ENTITY#* }
return $RET
}

parse () {
if [[ $TAG_NAME = "IIsWebServer" ]] ; then
eval local $ATTRIBUTES
echo " $ServerBindings"
echo " $ServerComment"
elif [[ $TAG_NAME = "IIsWebVirtualDir" ]] ; then
eval local $ATTRIBUTES
echo "Path=\"$Path"
fi
}

while read_file; do
parse
done

Работает он отлично, вот только не отображает обратные слеши с содержимого Path -> Path="G:\wwwroot\trimurti.ca", скрипт выводит вот так Path="G:wwwroottrimurti.ca... Помогите пожалуйста, что нужно поменять в скрипте, что бы выводились и обратные слеши.

#331886

Какая изначальная цель преобразования?

#331890

Распарсеный вид должен быть такой:
63.246.13.245:80:aquaknoxbeach.net
63.246.13.245:80:www.aquaknoxbeach.net
Path="G:\wwwroot\aquaknox_net

Спасибо

#331892
"4ubaka4ub⇓" написал:
echo "Path=\"$Path"

Попробуйте заменить на

text
echo -E "Path=\"$Path\""
#331893
"Lupo Alberto⇓" написал:
Попробуйте заменить на

Если нужно именно так — без последней закрывающей двойной прямой кавычки:

"4ubaka4ub⇓" написал:
Path="G:\wwwroot\aquaknox_net

...то

text
echo -E "Path=\"$Path"
#331896

Не, выводит тоже самое, бекслеши не учитываются

Войдите или зарегистрируйтесь, чтобы ответить.