如何在文本文件中替换$ {}占位符?

我想将“模板”文件的输出通过管道传递到MySQL,该文件具有${dbName}散布的变量。替换这些实例并将输出转储到标准输出的命令行实用程序是什么?



慕尼黑5688855
浏览 1383回答 3
3回答

慕尼黑8549860

更新资料这是来自yottatsa的一个类似问题的解决方案,它仅替代$ VAR或$ {VAR}之类的变量,并且是简短的单行代码i=32 word=foo envsubst < template.txt当然,如果i和word在您的环境中,那只是envsubst < template.txt在我的Mac上,它看起来像是作为gettext的一部分并从MacGPG2安装的旧答案这是mogsie在类似问题上的解决方案的改进,我的解决方案不需要escale双引号,mogsie的需要,但是他只是一个衬里!eval "cat <<EOF$(<template.txt)EOF" 2> /dev/null这两种解决方案的强大之处在于,尽管反斜杠是一个扩展名,但您只会得到几种类型的shell扩展,这些扩展通常不会发生$((...)),`...和$(...)。在这里转义字符,但是您不必担心解析存在错误,并且多行就可以了。
打开App,查看更多内容
随时随地看视频慕课网APP