PDA

Visualizza la versione completa : Inserire un backslash con sed


nutsmuggler
30-12-2006, 17:32
Ciao a tutti, sono un utente mac, ma visto che sto smanettando col terminale penso che la stanza giusta sia questa.
Sto cercando di inserire un backslash tramite ilo comando sed; in sostanza, devo escapare tutti gli ampersand di un file.
Cosė: fragole & limoni ---> fragole \& limoni
Sono riuscito a matchare l'ampersand, ma non a inserire un backslash
Ho provato cosė:
sed s/\&/\\\&/g test.txt
Il comando semplicemente ignora i primi due backslash del campo replace.
Se faccio
sed s/\&/\\\&TEST/g test.txt
ottengo, come previsto, fragole &TEST limoni, ma ancora nessun backslash.
Cosa sbaglio?
Grazie in anticipo,
Davide

sacarde
30-12-2006, 20:30
http://www.gentoo.org/doc/it/articles/l-sed1.xml


http://www.gentoo.org/doc/it/articles/l-sed2.xml


http://www.gentoo.org/doc/it/articles/l-sed3.xml

nutsmuggler
31-12-2006, 16:15
Grazie mille, ho trovato la soluzione. La sintassi corretta era:
sed -e 's/\&/\\\&/g'
Grazie ancora, e buone feste a tutti.
Davide

Loading