LINUX.ORG.RU

Как правильно изменить текст внутри одинарных ковычек sed

 


0

2

С

let s:sessions_path = $HOME . '/.vim/sessions'
На
let s:sessions_path = $HOME . '/.vim_data/sessions'

Попробовал заэкранировать одинарные ковычки:

sed -i -e 's/let s:sessions_path = $HOME . \'/.vim/sessions\'/let s:sessions_path = $HOME . \'/.vim_data/sessions\'/g' ~/.vim/plugged/sessionman.vim/plugin/sessionman.vim
Но что-то прям никак не получается.

★★★★
Ответ на: комментарий от Bfgeshka

Да, но вот это работает

sed -i -e \"s/TIMEOUT_SECONDS = 0.5/TIMEOUT_SECONDS = 10.0/g\" ~/.vim/plugged/YouCompleteMe/python/ycm/client/completion_request.py'

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

точку тоже надо экранировать

das_tier ★★★★★
()

Покажите итоговую строку. Я уже задолбался экранировать. Не получается и всё тут.

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

если тебе всего лишь нужно изменить ".vim" на ".vim_data", то хватит и

sed -i -e 's/\.vim/\.vim_data/' ~/.vim/plugged/sessionman.vim/plugin/sessionman.vim

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

Вообще-то так у меня сейчас и стоит)

{'do': 'nice -n 19 sed -i -e \"s/.vim\/sessions/.vim_data\/sessions/g\" ~/.vim/plugged/sessionman.vim/plugin/sessionman.vim'}

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

Самый простой способ бороться с кавычками: -f

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