2013-08-08 2 views

ответ

17

Использовать вместо ". И добавьте флаг g, чтобы заменить все.

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

sed "s/\ $/\ '/ g" ut.txt - это добавление в конце вместо замены символа $. я что-то упускаю? – Anu

+1

sed -e "s/\\ $/\ '/ g" ut.txt это сработало. Благодарю. – Anu

2

+ не специальный символ без -r переключателя в СЕПГ. Вы можете запустить команду заменить без каких-либо спасаясь:

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

# output: 'foo' 

Если вы хотите сохранить измененный файл, то используйте:

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

Вы также можете заменить все экземпляры + с ' в файле, используя tr:

tr '+' "'" < inputfile 
3

Это может работать для yoyu (GNU СЭД):

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

Чтобы быть более понятным: используйте '' \ '' 'вместо' '' – KrisWebDev

Смежные вопросы