我有一个来自另一个程序的多行字符串,我想将其转换为SQL命令.我希望printf可以帮助我,但它似乎不起作用:
echo -e '1\n2\n3'|printf 'SELECT %s INTO MyTable'
我希望看到:
SELECT '1 2 3' INTO MyTable
但我得到了:
SELECT INTO MyTable
如何让%s读取标准输入?
Jür*_*zel 33
使用xargs将stdin转换为程序参数:
echo -n -e '1\n2\n3' |xargs -0 printf 'SELECT %s INTO MyTable'
Run Code Online (Sandbox Code Playgroud)
尝试一下:
printf_stdin() { local stdin; read -d '' -u 0 stdin; printf "$@" "$stdin"; }
echo -e '1\n2\n3' | printf_stdin 'SELECT %s INTO MyTable'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12063 次 |
| 最近记录: |