gawk 명령줄의 변수 할당은 -v를 따라야 합니까?

gawk 명령줄의 변수 할당은 -v를 따라야 합니까?

awk 프로그래밍 언어에서

awk  [ -Fs]  'program'  optional list of filenames 
awk  [ -Fs]  -f progfile  optional list of filenames 

옵션 -Fs는 필드 구분 변수 FS를 s로 설정합니다. 파일 이름이 없으면 표준 입력을 읽습니다. 파일 이름은 var=text 형식을 취할 수 있으며, 이 경우 매개변수가 파일로 액세스될 때 실행되는 var 변수에 대한 텍스트 할당으로 처리됩니다.

Gawk에서는 option 뒤에 변수 할당이 지정되어 있는 것을 볼 수 있습니다 -v. 옵션 없이 인용문에 설명된 내용이 -v여전히 Gawk에 적용되는지 궁금합니다.

감사해요.

답변1

예.

"매개변수가 파일로 액세스될 때" 할당이 발생하기 때문에 블록에서 변수를 사용할 수 없지만 이는 BEGIN다른 모든 구현과 동일합니다.awk

$ echo 'input data' | gawk -vvar1="hello" 'BEGIN { print var1, var2 } { print $0, var1, var2 }' var2='world!'
hello
input data hello world!

관련 정보