我有文件File1.txt,我必须使用sed命令替换文本
File1.txt内容
EURAMOUNTTOBEREPLACED
我有一个用于替换文本AMOUNTTOBEREPLACED
的AIX shell脚本shell脚本的内容
sum=27
sed 's/AMOUNTTOBEREPLACED/"$sum"/g' File1.txt >> temp
mv temp FileNew.txt
执行脚本后,FileNew.txt的内容如下
EUR"$sum"
但是预期的输出应该是
EUR27
请帮忙怎么做?
答案 0 :(得分:1)
我认为你想要的是这样的:
sed 's/AMOUNTTOBEREPLACED/'$sum'/g' File1.txt >> temp
基本上单个qouting将字符串转换为sed并跳过shell,这是错误的。你希望shell解释变量,这就是我所做的。如果你恰好有sen的gnu版本。然后就可以了
sed -i 's/AMOUNTTOBEREPLACED/'$sum'/g' File1.txt
将您的代码中的这两个语句压缩为上面的一个:
sed 's/AMOUNTTOBEREPLACED/'$sum'/g' File1.txt >> temp
mv temp FileNew.txt
答案 1 :(得分:0)
使用下面的sed命令:
sed -e "s/AMOUNTTOBEREPLACED/\"${sum}\"/g"