awk를 사용하여 5개의 열이 포함된 행만 인쇄하는 방법

awk를 사용하여 5개의 열이 포함된 행만 인쇄하는 방법

파이프로 구분된 데이터가 포함된 파일이 있습니다. 5개의 열만 사용하여 행을 인쇄하고 싶습니다. 나는 다음을 시도했다. 이것은 작동하지 않습니다. 그냥 모든 줄을 인쇄합니다. 이 작업을 올바르게 수행하는 방법을 알려주시겠습니까? 감사합니다!

문서 내용:

10413300|Maintenance Stock Clerk A - Michelle Hanley | Michelle Hanley (1680654)|Filled||10402112
10413301|Maintenance Stock Clerk - dasda|space||10402122
MOM Parkcentrum F;Alkotás u. 53.||34535|34345|asd
Business Center Naberezhnaya Tower" Block C"|||3453|ffg|345

여기서는 5개의 열만 사용하여 행을 인쇄하려고 합니다.

$ gawk -F "|" '{ if (NF=5) print $0 }' data3
10413300 Maintenance Stock Clerk A - Michelle Hanley   Michelle Hanley (1680654) Filled
10413301 Maintenance Stock Clerk - dasda space  10402122
MOM Parkcentrum F;Alkotás u. 53.  34535 34345 asd
Business Center Naberezhnaya Tower Block C   3453 ffg

출력에서는 4개 행 중 2개 행에 5개 이상의 열이 있음을 보여줍니다.

$ gawk -F "|" '{print NF}' data3
6
5
5
6

답변1

NF=5는 과제이고 테스트 값은 으로 완성됩니다 ==. 이와 같이:

awk -F \| 'NF==5' data3

관련 정보