awk`를 시도할 때 에코 작업 사용

awk`를 시도할 때 에코 작업 사용

어쩌다

 echo `echo "foo"`

유효하지만

 echo `awk '{ print "foo" }'`

아니요?

답변1

프로그램은 awk입력을 기다리고 각 입력 줄에 대해 단어를 인쇄합니다 foo. 이것이 awk바로 프로그램이 하는 일이다 { print "foo" }.

대조적으로, echo첫 번째 명령 대체에서는 입력이 대기되지 않습니다.

awk프로그램이 입력 없이 무언가를 인쇄하도록 하시겠습니까 ? 출력을 블록으로 수행하십시오 BEGIN.

awk 'BEGIN { print "foo" }'

블록 BEGIN이 실행됩니다.앞으로입력의 첫 번째 줄을 읽고 스크립트에 다른 블록도 없고 입력 파일도 없으므로 종료됩니다.

또한 echo $( ... )또는 같은 코드를 작성하지 말고 echo ` ... `명령 대체에 해당 코드를 사용하십시오.

관련 정보