A.txt
包含以下内容:$x + $y = $z
bash:如何在`cat`文件后用它们的值替换所有变量名?
我想cat A.txt
这将呼应$x + $y = $z
,但我想要的变量与他们的价值观所取代,什么办法?
让我们看看另一个简单的测试: B.txt
包含$x
,我们可以使用echo `echo \$x`
但既不echo $(echo \$x)
也不echo `cat B.txt`
为什么cat
不到风度的工作?以及如何做到这一点?
A.txt
包含以下内容:$x + $y = $z
bash:如何在`cat`文件后用它们的值替换所有变量名?
我想cat A.txt
这将呼应$x + $y = $z
,但我想要的变量与他们的价值观所取代,什么办法?
让我们看看另一个简单的测试: B.txt
包含$x
,我们可以使用echo `echo \$x`
但既不echo $(echo \$x)
也不echo `cat B.txt`
为什么cat
不到风度的工作?以及如何做到这一点?
所有我能想到的是
x=2
y=1
z=3
cat A.txt | sed -e "s/\$x/$x/" -e "s/\$y/$y/" -e"s/\$z/$z/"
这不是非常有活力,但。
其实我有120变量(24小时* 5列),我不会使用'sed',我正在寻找替代的自动替换。 – Mosty
如果您有机会获得'envsubst'(Gettext中的基包)和您的变量已经远销:'envsubst
Cyrus