![빈 줄을 제외한 모든 항목을 인쇄하고 총 빈 줄 수를 표시하는 nawk 스크립트를 어떻게 작성할 수 있습니까?](https://linux55.com/image/78324/%EB%B9%88%20%EC%A4%84%EC%9D%84%20%EC%A0%9C%EC%99%B8%ED%95%9C%20%EB%AA%A8%EB%93%A0%20%ED%95%AD%EB%AA%A9%EC%9D%84%20%EC%9D%B8%EC%87%84%ED%95%98%EA%B3%A0%20%EC%B4%9D%20%EB%B9%88%20%EC%A4%84%20%EC%88%98%EB%A5%BC%20%ED%91%9C%EC%8B%9C%ED%95%98%EB%8A%94%20nawk%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A5%BC%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%9E%91%EC%84%B1%ED%95%A0%20%EC%88%98%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
나는 몇 가지 다른 것을 시도했지만 제대로 작동하지 않습니다. 주로 빈 줄을 제외하는 방법을 알고 싶습니다.
시도한 명령:nawk '{print $0}' filename | grep -v " "
답변1
nawk -v count=0 '!NF {count++; next}; 1; END {print count}'
필드가 없는 모든 행( !NF
)(이 경우 빈 행)에 대해 증가 count
하고 계속합니다. 그렇지 않은 경우 행을 인쇄합니다(참 값에 대한 기본 동작 포함 1
). 입력이 끝나면 print 를 실행하여 각 줄이 비어 있지 않아도 여전히 값을 갖도록 count
초기화합니다 .count
0
count
공백만 포함된 줄에서는 실패할 수 있는 - /^$/
대신 -를 사용할 수 있습니다 .!NF