awk 명령을 사용하여 사각형 생성

awk 명령을 사용하여 사각형 생성

라는 파일이 있습니다관행숫자 1, 2, 3, 4, 5는 서로 다른 행에 있습니다. AWK 명령을 사용하여 이 숫자의 제곱을 생성하고 싶습니다.

이를 위해 다음 명령을 작성했습니다.

awk 'BEGIN { a = $1; a = a ^ 2; print "a =", a }' prac

그러나 출력은 다음과 같습니다.a = 0

내 실수를 알려주세요

답변1

예, 코드가 BEGIN블록에 있기 때문입니다. 특수 BEGIN블록은 한 번만 실행됩니다.앞으로첫 번째 입력 파일에서 입력의 첫 번째 줄을 읽습니다. (다시 특수 END블록이 한 번 트리거됩니다.뒤쪽에입력의 마지막 줄을 읽으십시오). 코드 블록을 실행하고 싶습니다철사:

awk '{ printf("a = %s\n", $1*$1) }' prac

또는 원래 코드에 더 가깝습니다.

awk '{ a = $1*$1; print "a =", a }' prac

관련 정보