Я имею
echo "A url: \\\"http:..."
который читает "A url: \"http:..."
(<-это - то, как это находится в моем текстовом файле),
Мне нужно
echo "A url: \'http:..."
однако из-за всех кавычек моя команда sed не работает правильно
echo "A url: \\\"http:..." | sed -r 's/\\"+/\\\'/g'
Я вижу, почему это перестало работать (одинарная кавычка посреди sed оператора является проблемой, но что я могу делать с этим? Я пытался искать третий тип кавычек для использования, но не мог найти ту. Какие-либо взломы?
Если Вы хотите изменить какое-либо возникновение \"
с \'
, можно сделать это:
$ echo "A url: \\\"http:..." | sed -r "s/\\\"/\\'/g"
A url: \'http:...
Просто использование "
для внешних кавычек в Вашем sed
и можно затем использовать '
в замене. Вы не хотите "+
, если у Вас не могло бы быть больше чем одного последовательного "
, и Вы хотите заменить всех их. Если Вы делаете, используйте sed -r "s/\\\"+/\\'/g"
.