找到变量字并使用Bash将其替换为文件

时间:2017-03-09 12:30:14

标签: bash sed

我有一个文件,我试图找到一个单词并用另一个单词用Bash替换它。我正在使用sed这样做,请注意我要查找的单词是命令的输出。所以我试图找到一个单词,这是一个命令的输出,并用另一个单词替换它并覆盖前一个单词。

这是我的代码:

File=file.txt
File2=file2.txt
min=$(cat $File2 | grep word);  
sed -i 's/$min/max/g' $File

它没有产生任何错误,但我无法找到这个词来替换它。当我手动输入单词而不是使用变量“$ min”时,它可以正常工作。所以,当我这样做时,它可以工作:

sed -i 's/min/max/g' $File

但是当我这样做时,却没有:

 sed -i 's/$min/max/g' $File

我想也许sed不接受变量作为搜索字符串。知道如何实现这个目标吗?

谢谢你。

1 个答案:

答案 0 :(得分:1)

对sed表达式使用双引号,这应该有效:

sed -i "s/$min/max/g" $File