Eu tenho um arquivo que contém várias linhas de xml. Gostaria de substituir certas partes do arquivo. Algumas partes do arquivo contêm aspas ( "
) que eu gostaria de substituir. Eu tenho tentado escapar das aspas com \
, mas não acho que isso esteja funcionando com base no resultado do meu arquivo.
Aqui está um exemplo de um dos meus comandos sed:
sed -e "s/\"text\"/'text'/ig" file.xml > temp.tmp
É assim que você escapa aspas em um comando sed ou estou fazendo algo errado?
\"
é a maneira correta de escapar aspas no comando sed?
"
. Mas seu comando shell usa uma cadeia de caracteres entre aspas duplas e \"
está correto lá. O sed
programa vê s/"text"/'text'/ig
como argumento para -e
.
s/\"text\" /'text'/ig
, encontraria apenas "text"
o espaço após ele?
sed
é a ferramenta certa para o trabalho, talvez você queira um analisador XML.
"text"
por'text'
. Claro que não fará nada para"othertext"
. Mostre algumas linhas de entrada, a saída indesejada correspondente e explique qual saída você deseja.