替换包含特殊字符的linux文件中的一行

时间:2013-08-28 01:01:29

标签: linux replace character line special-characters

以下是脚本的摘录,显示了脚本的变量

PathToPiconPNG="/var/OscamSrvidPicon/picon/19.2E/"
PathToOscamSrvid="/var/OscamSrvidPicon/picon/19.2E/oscam.srvid"
PathToPiconTPL="/var/OscamSrvidPicon/oscam_picons/"
PathToTmp="/tmp/"

我想多次运行此脚本替换(例如)此行:

PathToPiconPNG="/var/OscamSrvidPicon/picon/19.2E/"

这一行

PathToPiconPNG="/var/OscamSrvidPicon/picon/28.2E/"

我尝试过使用sed(我知道这个例子是错误的,但你可能会得到我想要实现的目标)

sed 's/{PathToPiconPNG="/var/OscamSrvidPicon/picon/19.2E/"}/{PathToPiconPNG="/var/OscamSrvidPicon/picon/28.2E/"}/g' filename.txt > newfilenam.txt

如果那是不可能的,有什么方法可以从另一个脚本外部设置变量

1 个答案:

答案 0 :(得分:2)

sed -E 's/picon\/.+\//picon\/28.2E\//' filename.txt > newfilenam.txt