sed变量替换问题

下午在写一段shell脚本的时候,遇到了一个问题,就是在sed里面的变量替换不了。

sed   's/^$srcdir/test/g'   /tmp/src_temp_dir.txt  >  /tmp/des.txt


上面srcdir变量里面存的是一个文件的完整路径,文件里面也是一些路径的字符串。我想把原来文件里的路径都换了。结果就是换不了,弄了很久才怀疑是$srcdir没有解释出来,结果去网上搜了下,因为刚开始看shell和正则,所以不是很懂。到后来才发现换成下面的就OK了:

sed  "s,^${srcdir},temp,g"   /tmp/src_temp_dir.txt  >  /tmp/des.txt


具体原因不是很懂。。。

标签:Linux, Shell

评论已关闭