linux - bash:如何将文件 `cat` 之后的所有变量名替换为它们的值?

标签 linux bash replace echo cat

A.txt 包含以下内容:$x + $y = $z

我想要 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/"

但这并不是很动态。

关于linux - bash:如何将文件 `cat` 之后的所有变量名替换为它们的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40605450/

相关文章:

linux - 是否有用于估计压缩后文件大小的实用程序?

java - 如何查找 Java 堆大小和使用的内存 (Linux)?

regex - 如何在 bash 中获取遵循自定义模式的所有字符串实例从变量到数组?

linux - 为什么 bash 文档建议引用通配符?

java - 替换字符串中的特定单词

python - 包含字符串和 float 的 Pandas Dataframe 列

linux - 在 Centos 6.2 上安装 Git

linux - bash命令检查目录是否可执行

linux - 设置 bash shell 或命令提示符以运行 Python 项目

javascript - 跳出替换全局循环