我知道这一定很容易,但我无法弄清楚我做错了什么。我想替换
'2.0.0'
与
FALSE
我有
sed -i.bak s/"'\''2.0.0'\''"/"FALSE"/g config.php
我也试过......
sed -i.bak s/"'2.0.0'"/FALSE/g config.php
几乎所有我能想到的单一组合,都是
'2.0.0' => 'FALSE'
我怎样才能删除单引号?
答案 0 :(得分:1)
以下是使用awk
awk '{sub(q"2.0.0"q,"FALSE")}1' q="'" file
将其写回文件:
awk '{sub(q"2.0.0"q,"FALSE")}1' q="'" file > tmp && mv tmp file
答案 1 :(得分:0)
这对我有用(参见下面的Jotne评论):
echo "'2.0.0'" | sed 's/.2\.0\.0./FALSE/'
注意:单个点。是任意单个字符的正则表达式。反斜杠一个点\。代表一个字面点。
编辑:sed表达式的双重和单引号的组合对我也有用: echo "'2.0.0'" | sed "s/'2\.0\.0'/FALSE/"