LINUX.ORG.RU

попытка экранировать всё это дело:
echo ",NA" | sed -e 's/\,NA/\,\'NA\'/g'
команда не завершается.

dada ★★★★★
() автор топика

а с одинарными не получается

Когда вот прям кровь из носа надо одинарные в одинарные, их прерывают, и ту, что надо вставить, берут в двойные

$ echo ",NA" | sed -e 's/,NA/,'"'"'NA'"'"'/g'
,'NA'
Никак по-другому, ни эвалами через бекслеши не получится.

deterenkelt
()
Ответ на: комментарий от nerve

А что тут странного? Ты заэкранировал одинарные кавычки не по отдельности, а сразу вместе со всем выражением замены.

anonymous
()
Ответ на: комментарий от anonymous

если честно, то нет

echo "'" | sed -e 's/'"'"'/'"''"'/'
''
то есть экраном является конструкция с одиночной и двойной кавычкой с двух сторон экранируемого выражения?
'"здесь что-то"'

nerve ★★
()
Последнее исправление: nerve (всего исправлений: 1)

а с одинарными не получается

mute@slack1337:~$ echo ",NA" | sed -e 's/,NA/,\x27NA\x27/g'
,'NA'

УМВР :)

slackwarrior ★★★★★
()
Ответ на: комментарий от nerve

Я могу найти этому объяснение только с той стороны, что для баша двойных кавычек в принципе не существует — он все строки передаёт потом в одинарных.

deterenkelt
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.