2013-11-01 3 views
1

Я немного запутался в использовании sed относительно замены (") двойных кавычек на (') одинарную кавычку. Я пробовал много комбинаций в sed, но почему-то это не позволяет частности преобразованиеИспользование sed для (')

Любая помощь будет очень высоко ценится

пс:.. Я открыт для других методов замещения, а также, но он должен работать нормально в Баш (UNIX)

+0

Какие комбинации вы пробовали? –

+0

Я получил свой ответ здесь -> http://stackoverflow.com/questions/16154007/replace-all-double-quotes-with-single-quotes ... должен был проверить ранее – Marcos

+0

http://stackoverflow.com/questions/16154007/replace-all-double-quotes-with-single-quotes – Marcos

ответ

1

Вы могли бы попробовать что-то вроде этого:

[ ~]$ echo "'Hello'"|sed "s/'/\"/g" 
"Hello" 

И наоборот:

[ ~]$ echo \"Hello\"|sed "s/\"/'/g" 
'Hello' 

В противном случае, вы могли бы использовать tr вместо sed, если вы хотите:

[ ~]$ echo \"Hello\"|tr "\"" "'" 
'Hello' 
2

Вы можете использовать как:

s='abc"def"123' 
echo "$s"|sed "s/\"/'/g" 

abc'def'123 
2

Для замены только один персонаж, вы можете также использовать tr:

$ printf '%s\n' '"Hello"' | tr \" \' 
'Hello' 

Теперь я надеюсь, что вы не используете это как-то «дезинфицировать» какой-то пользовательский ввод ...

0

Это может работать для вас:

sed 'y/'\''/"/' file 
Смежные вопросы