【发布时间】:2016-05-01 17:20:25
【问题描述】:
我想用替换字符串替换后面的原始字符串。
original_str="#22=SI_UNIT(*,*,#5,'','metre');"
replace_str="#22=SI_UNIT(*,*,#5,'','millimetre');"
sed -i "s/$original_str/$replace_str/" ./output/modified.txt
我尝试过以不同的方式使用“sed”。但是,它不起作用。有人知道吗?
概念#22 稍后在同一文件中引用了另一个概念。是这个原因吗?
请注意,在同一个 bash 脚本中的以下字符串可以正常工作:
original_str="#103=CARTESIAN_POINT('P3',0.0,0.0,1.0,#72);"
replace_str="#103=CARTESIAN_POINT('P2',10.0,10.0,10.0,#72);"
sed -i "s/$original_str/$replace_str/" ./output/modified.txt
概念 #103 未在同一文件中的后续概念中使用。
谢谢。
【问题讨论】:
标签: linux string bash replace sed