首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何替换文本文件中的${}占位符?

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

Stack Overflow用户
提问于 2009-01-06 15:00:16
回答 11查看 184.6K关注 0票数 197

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

EN

Stack Overflow用户

发布于 2009-01-06 07:08:45

如果你对使用Perl持开放态度,那将是我的建议。尽管可能有一些sed和/或AWK专家可能知道如何更容易地做到这一点。如果您有一个更复杂的映射,而不仅仅是dbName,那么您可以很容易地对其进行扩展,但此时您也可以将其放入标准的Perl脚本中。

代码语言:javascript
运行
复制
perl -p -e 's/\$\{dbName\}/testdb/s' yourfile | mysql

一个简短的Perl脚本,用来做一些稍微复杂的事情(处理多个键):

代码语言:javascript
运行
复制
#!/usr/bin/env perl
my %replace = ( 'dbName' => 'testdb', 'somethingElse' => 'fooBar' );
undef $/;
my $buf = <STDIN>;
$buf =~ s/\$\{$_\}/$replace{$_}/g for keys %replace;
print $buf;

如果您将上述脚本命名为replace- script,则可以按如下方式使用它:

代码语言:javascript
运行
复制
replace-script < yourfile | mysql
票数 5
EN
查看全部 11 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/415677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档