bcに数字をエレガントに入力するには?

bcに数字をエレガントに入力するには?

xargs -Ix以下を使用するよりもエレガントな方法はありますか?

echo "283" | xargs -Ix bc -l -e "scale=2; l( x )/l(10)"

答え1

私はここで理由を本当に理解していませんxargs

printf 'scale=2; l(%s)/l(10)\n' "283" | bc -l

ファイルから数字を読み取る代わりに:

awk '{ printf "l(%s)/l(10)\n", $1 }' file | bc -l -e 'scale=2'

(aがbc持っていると仮定-e)またはbcまったくなし:

awk '{ printf "%.2f\n", log($1)/log(10) }' file

答え2

私のものがないbcのでテストされていませんが、うまくいきます。bc-e

echo "283" | xargs echo 123に置き換えることができます。 echo 123 "$(echo "283")"

だからあなたの例

bc -l -e "scale=2; l( x )/l(10)" "$(echo "283")"

関連情報