파일의 모든 숫자를 제곱하기

파일의 모든 숫자를 제곱하기

누군가 나와 공유하거나 EOF까지 파일에서 읽고 읽은 모든 숫자의 제곱을 계산하는 Linux 명령 스크립트를 보여줄 수 있습니까? 이 계산 결과는 출력 파일에 저장되어야 합니다.

답변1

$ echo 3.14 >> /tmp/numbers
$ echo 2 >> /tmp/numbers
$ echo 4.0 >> /tmp/numbers

$ awk '{print $1 * $1}' < /tmp/numbers
9.8596
4
16
$ awk '{print $1 * $1}' < /tmp/numbers > /path/to/OutputFile

답변2

파일의 각 줄에 하나의 숫자가 포함되어 있다고 가정하고 ksh93및 컴퓨팅 서비스로 사용 :bcnumbers

bc -l |&
bc_pid="$!"

while read num; do
    print -p "$num * $num"
    read -p sqr
    printf '%g*%g = %g\n' "$num" "$num" "$sqr"
done <numbers

kill "$bc_pid"

동등한 것 bash:

coproc bc -l
bc_pid="$!"

while read num; do
    printf '%g * %g\n' "$num" "$num" >&"${COPROC[1]}"
    read sqr <&"${COPROC[0]}"
    printf '%g*%g = %g\n' "$num" "$num" "$sqr"
done <numbers

kill "$bc_pid"

관련 정보