在bash格式化stdin

我有一个来自另一个程序的多行字符串,我想转换为SQL命令.我希望printf可以帮助我,但似乎不起作用:

echo -e '1\n2\n3'|printf 'SELECT %s INTO MyTable'

我希望看到:

SELECT '1
2
3' INTO MyTable

但我得到:

SELECT  INTO MyTable

如何获得%s阅读stdin?

使用xargs将stdin转换为程序参数:

echo -n  -e '1\n2\n3' |xargs -0  printf 'SELECT %s INTO MyTable'
相关文章
相关标签/搜索