J'ai un fichier qui contient plusieurs lignes de xml. Je voudrais remplacer certaines parties du fichier. Certaines parties du fichier contiennent des guillemets ( "
) que je voudrais remplacer. J'ai essayé d' échapper au guillemet avec \
, mais je ne pense pas que cela fonctionne en fonction du résultat de mon fichier.
Voici un exemple d'une de mes commandes sed:
sed -e "s/\"text\"/'text'/ig" file.xml > temp.tmp
Est-ce ainsi que vous échappez aux guillemets dans une commande sed ou est-ce que je fais quelque chose de mal?
\"
Est-ce donc la bonne façon d'échapper aux guillemets dans la commande sed?
"
. Mais votre commande shell utilise une chaîne entre guillemets doubles et \"
est correcte à cet endroit. Le sed
programme voit s/"text"/'text'/ig
comme l'argument de -e
.
s/\"text\" /'text'/ig
Ne trouverait-elle "text"
qu'avec l'espace après?
sed
c'est le bon outil pour le travail, peut-être que vous voulez un analyseur XML.
"text"
par'text'
. Bien sûr, cela ne fera rien"othertext"
. Montrez quelques lignes d'entrée, la sortie indésirable correspondante et expliquez quelle sortie vous souhaitez à la place.