Pipe
如何優雅地將數字輸入 bc?
有沒有比使用
xargs -Ix
以下更優雅的方式?echo "283" | xargs -Ix bc -l -e "scale=2; l( x )/l(10)"
我真的沒有看到
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
that has-e
),或者bc
根本沒有:awk '{ printf "%.2f\n", log($1)/log(10) }' file
未經測試
bc
,因為我bc
沒有-e
,但是這些應該可以工作。
echo "283" | xargs echo 123
可以換成。echo 123 "$(echo "283")"
所以對於你的例子
bc -l -e "scale=2; l( x )/l(10)" "$(echo "283")"