2013-08-08 8 views

Antwort

17

Verwenden Sie stattdessen ". Und fügen Sie g Flag, um alle zu ersetzen.

sed "s/\+/\'/g" test.txt 
+0

sed "s/\ $/\ '/ g" ut.txt - dies fügt am Ende statt des $ -Zeichens hinzu. vermisse ich etwas? – Anu

+1

sed -e "s/\\ $/\ '/ g" ut.txt das hat funktioniert. Vielen Dank. – Anu

2

+ ist kein Sonderzeichen ohne -r Schalter in sed. Sie können den Ersatz-Befehl ausführen, ohne dass entkommen:

echo '+foo+' | sed "s/+/'/g" 

# output: 'foo' 

Wenn Sie wollen, dann geänderte Datei speichern verwenden:

sed -i.bak "s/+/'/g" test.txt 
3

Sie auch alle Instanzen + mit ' in der Datei ersetzen können tr mit:

tr '+' "'" < inputfile 
3

Dies könnte für yoyu arbeiten (GNU sed):

sed 'y/+/'\''/' file 
+1

Um es deutlicher zu machen: Verwenden Sie '' \ '' 'anstelle von' '' – KrisWebDev

Verwandte Themen