2013-08-08 16 views

Odpowiedz

17

Zamiast tego należy użyć ". I dodaj flagę g, aby zastąpić wszystkie.

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

sed "s/\ $/\ '/ g" ut.txt - dodaje "na końcu zamiast zamieniać znak $. czy czegoś brakuje? – Anu

+1

sed -e "s/\\ $/\ '/ g" ut.txt to działało. dzięki. – Anu

2

+ nie jest znakiem specjalnym bez -r przełącznika w sed. można uruchomić komendę zastępczej bez ucieczki:

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

# output: 'foo' 

Jeśli chcesz zapisać zmieniony plik następnie użyć:

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

można również zastąpić wszystkie wystąpienia + z ' w pliku przez stosując tr:

tr '+' "'" < inputfile 
3

może pracować yoyu (GNU sed)

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

Aby było bardziej zrozumiałe: użyj ''\' '' zamiast '' ' – KrisWebDev

Powiązane problemy