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")"

관련 정보