【发布时间】:2018-08-20 14:22:49
【问题描述】:
我很难在包含多个特殊字符的文件中搜索字符串并将整行替换为一些具有特殊字符的文本。
在文件中搜索字符串
a.bb.cc[hk].ccm[*].nib[*].gion[*].der[*].sam[*].ant[ck].sant[*].tags[*].rmp
替换为
dde.be.cc[hk].com[*].nib[*].gion[*].der[*].sam[*].ant[ck].sant[*].tags[*].rmp=200
尝试使用 linux sed 但这需要转义所有这些特殊字符,我不想这样做。这些特殊字符可能会因其他字符串而改变。
perl -e "s/$to_replace/$replace_with/g" -pi /tmp/l1
sed -i -e "s/'$to_replace'/'$replace_with'/g" /tmp/l1
这两个都失败了,因为他们期望转义字符。
我们将不胜感激。谢谢
【问题讨论】:
-
$to_replace和$replace_with是什么? -
to_replace 是一个具有需要替换的字符串的变量。 $to_replace = "a.bb.cc[hk].ccm[].nib[].gion[].der[].sam[]。 ant[ck].sant[].tags[].rmp" $replace_with = "dde.be.cc[hk].com[].nib[]. gion[].der[].sam[].ant[ck].sant[].tags[].rmp=200"
标签: python perl sed replace find