sed para atualizar o arquivo xml

1

Eu quero atualizar

<MySettingsSettings enabled="false" logFilePath="E:\server.log" />

para

<MySettingsSettings enabled="true" logFilePath="D:\server.log" />

Como posso fazer isso através do sed? ou existe alguma outra maneira de atualizar em um servidor windows?

    
por Sen 18.02.2010 / 02:41

2 respostas

3

Minha sugestão é que você use uma linguagem de programação real que possa realmente analisar e atualizar documentos XML / HTML adequadamente. Usar sed para atualizar XML / HTML provavelmente falhará no longo prazo.

    
por 18.02.2010 / 03:19
1

Uma simples substituição do seu exemplo pode ser feita assim:

sed -e 's/enabled="true"/enabled="false"/g' -e 's/logFilePath="D:/logFilePath="C:/g' myfile.xml

No entanto, eu concordaria com o aviso da Zoredache de que, a menos que você esteja fazendo apenas uma substituição de string muito simples dentro do XML, seria melhor ter uma linguagem que tenha bibliotecas disponíveis especificamente construídas para analisar XML.

Um ótimo recurso para vários comandos úteis do sed é o arquivo "sed-one-liner":

link

    
por 18.02.2010 / 04:02

Tags