我想通过管道将“模板”文件的输出输出到MySQL中,该文件中散布着像${dbName}这样的变量。替换这些实例并将输出转储到标准输出的命令行实用程序是什么?
发布于 2009-01-06 07:08:45
如果你对使用Perl持开放态度,那将是我的建议。尽管可能有一些sed和/或AWK专家可能知道如何更容易地做到这一点。如果您有一个更复杂的映射,而不仅仅是dbName,那么您可以很容易地对其进行扩展,但此时您也可以将其放入标准的Perl脚本中。
perl -p -e 's/\$\{dbName\}/testdb/s' yourfile | mysql一个简短的Perl脚本,用来做一些稍微复杂的事情(处理多个键):
#!/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,则可以按如下方式使用它:
replace-script < yourfile | mysqlhttps://stackoverflow.com/questions/415677
复制相似问题