awk를 사용하여 명령줄에 제공된 파일 수를 인쇄하세요.

awk를 사용하여 명령줄에 제공된 파일 수를 인쇄하세요.

저는 명령줄을 처음 사용합니다! awk를 사용하여 명령줄에 제공된 파일 수를 인쇄하고 싶습니다. 이렇게 하려고 하면 무한 루프에 빠지게 됩니다.

awk 'BEGIN{};'
awk 'END{print ARGC}'

파일 읽기가 시작되지만 중지하는 방법을 모르겠습니다.

답변1

올바른 구문은 다음과 같습니다.

awk 'END {print ARGC}' file1 ... filen 

깨닫다

  • 파일이 제공되어야 합니다(elase awk는 stdin의 입력을 기다립니다)
  • awk 자체는 ARGC에서 1로 계산됩니다.

파일 수를 가져옵니다

awk 'END {print ARGC-1}' file1 ... filen

무한 루프

(이유에 대한 단서가 없기 때문에 이것은 주석이어야 합니다).

당신이 쓴다고 가정하자

 foobar="/my/path1 /other/path2"
 C=$(awk 'END{ print ARGC-1}' $fobar)

$foobarstdin 철자를 잘못 입력하면 무한 루프/witing이 발생할 수 있습니다 $fobar.

관련 정보