今日、Bashprintf
に-v
オプションがあることに気付きました
-v var assign the output to shell variable VAR rather than
display it on the standard output
このように呼び出すと動作します
$ printf -v var "Hello world"
$ printf "$var"
Hello world
パイプから来るとうまくいきません
$ grep "Hello world" test.txt | xargs printf -v var
-vprintf: warning: ignoring excess arguments, starting with `var'
$ grep "Hello world" test.txt | xargs printf -v var "%s"
-vprintf: warning: ignoring excess arguments, starting with `var'