Voglio sostituire tutte le virgolette singole in una stringa con due virgolette singole usando sed. Ma quando la stringa contiene il comando sed & non sostituisce le virgolette singole che verranno dopo. per favore condividi alcune considerazioni al riguardo.Come scappare e mentre si usa sed
5
A
risposta
13
Non è necessario per sfuggire nulla nell'input:
$ echo "123 ' foo & b'ar" | sed "s/'/''/g"
123 '' foo & b''ar
Tuttavia, nella parte 'di ricambio' del comando s
&
ha un significato speciale: significa 'match'. Ecco perché il comando di cui sopra può essere riscritta come:
$ echo "123 ' foo & b'ar" | sed "s/'/&&/g"
123 '' foo & b''ar
fuga con un \
come tutto il resto che deve essere sfuggito, se necessario:
$ echo "123 ' foo & b'ar" | sed "s/'/'\&'/g"
123 '&' foo & b'&'ar
5
E 'più facile rispondere se si posta il tuo codice, ma suppongo che tu non sfugga alla e commerciale. Cambia &
a \&
se vuoi una e commerciale letterale.
Vedere la sezione 3.1.2 di The sed FAQ per una spiegazione più dettagliata, se siete curiosi.
0
E 'di lavoro per me
bash>echo "'This is a string with 'single quote' & '&'" | sed "s/'/''/g"
''This is a string with ''single quote'' & ''&''
Problemi correlati
- 1. Bash: come scappare $ @?
- 2. Semplice mentre si usa il ciclo while (vero);
- 3. Come si usa unittest.TestResult?
- 4. Come scappare l'asterisco in regexp?
- 5. BitmapCache? Quando e come si usa?
- 6. CodeMirror - cos'è addWidget e come si usa?
- 7. Come si usa Form.ShowDialog?
- 8. ViewDragHelper: come si usa?
- 9. Come si usa AVAssetWriter?
- 10. Come si usa TTStyledTextLabel?
- 11. Come si usa class_eval?
- 12. Come si usa strdup?
- 13. come si usa ensure_csrf_cookie?
- 14. Come si usa layoutIfNeeded?
- 15. CakeEmail - Come si usa?
- 16. Come si usa una sostituzione di nuova linea in un BSD sed?
- 17. Come si usa Resources.getFraction()?
- 18. Proiezioni.Conditional - Come si usa?
- 19. Come si usa cx_freeze?
- 20. IRequiresSessionState - come si usa?
- 21. Come si usa gdb?
- 22. Come si usa CATransform3DMakeRotation?
- 23. Come si usa strcasestr()?
- 24. Qual'è la differenza tra -E sed e sed -e
- 25. Come scappare i caratteri speciali in JSON
- 26. Scorrere mentre si trascina e rilascia (WPF)
- 27. Come "scappare presto" in una web monad
- 28. Come faccio a scappare # {da interpolazione stringa
- 29. Come si usa Drools Planner?
- 30. Come si usa ruby-debug in Emacs?
Ehi, voglio sostituire una stringa con 'e' nella mia stringa di output. Ho provato '" & "', '\ &', '\\ &', '\\\ &', '" '\ &' "' sulla base di diverse risposte sul web ma niente funziona, qualche suggerimento? – Ava
'\ &' funziona per me. Per esempio, posso sostituire tutte le istanze di 'amp' con' & 'usando' sed 's/amp/\ &/g "'. Se i problemi persistono, è necessario inserire una nuova domanda con la stringa di input e il codice. –
Sì, lo fa. Stavo usando un altro file che non ha avuto il resto :( – Ava