sto usando sed comando di cambiare <active>true a <active>false in un file xml. Ora se lo uso
sed 's/<active>true/<active>false/g' file.xml > file.xml
cancella completamente il contenuto del mio file. Durante l'utilizzo >> invece di >, aggiunge l'output alla fine come dovrebbe fare.
- Come ottenere ciò che voglio fare?
- Perché è
>comportarsi così stranamente? - Quello che in realtà voglio fare è cambiare
<active>truea<active>falseSe<active>trueè presente e viceversa se<active>falseè presente nel file. C'è qualche comando che può farlo o ho bisogno di scrivere uno script conif-elsecome il mio piano originale?
file.xml è stato troncato prima sed è stato eseguito?
sponge.
sed -i risolto problema 2 e 1, anche se su utilizzando spugna, ha dato command not found errore
sponge è una parte di moreutils pacchetto che non è installato di default. Immagino che in altre distro la situazione sia simile.
sed -i.