Заменить с помощью & ldquo; sed & rdquo; символ с обратной косой чертой и использовать его в переменной

У меня есть это жало: the string's problem, и я хочу изменить это на:

file 'the string'\''s problem'

Мой код выглядит так:

newline=`echo "$string" | sed "s/'/'\\\''/g"`
echo $newline | sed "s|$newline|file '$newline'|g" >> "$newPList"

Но результат этого is:

file 'the string'''s problem'

Любые предложения?

1
задан 15 July 2015 в 19:13

1 ответ

Это perl однострочный, все в одном, без дополнительных строковых конструкций;)

$ perl -pe "s/^(.*)'(.*)$/file '\$1\'\\\'\'\$2'/" <<< "the string's problem"
file 'the string'\''s problem'
3
ответ дан 23 May 2018 в 19:03

Другие вопросы по тегам:

Похожие вопросы: