sed 替换的字符串里有单引号怎么处理?

我试了加\符号转义,也不行。 想把mocha.reporter('spec')替换成mocha.reporter('json'). 我试了sed -i…
关注者
5
被浏览
24,202

3 个回答

$ echo "mocha.reporter('spec')" | sed "s/'spec'/'json'/"
mocha.reporter('json')

有单引号的情况就用双引号呗

$ echo "mocha.reporter('spec')" | sed $'s/\'spec\'/\'json\'/'
mocha.reporter('json')

或者也可以这样、加个 $ 让 bash 转义

sed -i "s/spec/json/"不行吗