빈 필드가 포함된 행 삭제

빈 필드가 포함된 행 삭제

마지막 행 $7에서 빈 필드가 포함된 행을 삭제하고 싶습니다.

문서:

1 1479870 5022248660 1 40001 189445122 740020
1 1911574 3015889020 1 33001 162049034 633004
1 1569783 5029193930 1 22001 133687297 522216
1 2069616 1025856960 2 25001 185608704 
1 1741598 5021128160 1 44001 164870942 644027
1 1052941 5020319300 1 10001 156161802 610007
1 1686734 5020347480 1 13001 131405824 513304
1 1872263 5029089700 1 23001 185092353 723017

원하는 출력:

1 1479870 5022248660 1 40001 189445122 740020
1 1911574 3015889020 1 33001 162049034 633004
1 1569783 5029193930 1 22001 133687297 522216
1 1741598 5021128160 1 44001 164870942 644027
1 1052941 5020319300 1 10001 156161802 610007
1 1686734 5020347480 1 13001 131405824 513304
1 1872263 5029089700 1 23001 185092353 723017

답변1

이 시도:

awk  '$7!=""' file > final_output

답변2

필드가 일련의 공백 문자가 아닌 단일 공백 ​​문자로 구분된 경우

1 2  4 5 6 7

행에 일곱 번째 필드가 있지만 세 번째 필드가 없는 경우 다음을 수행합니다.

awk -F '[ ]' '$7 != ""' < file > final_output

[ ]공백 문자와 일치하는 정규식입니다. 필드 구분 기호는 특별한 의미를 갖기 때문에 단일 공백을 사용하지 않습니다 -F ' '(하나 이상의 공백 문자 시퀀스가 ​​다음과 같이 작동하는 기본 필드 분할 동작이 제공됨).하나구분 기호와 선행 및 후행 공백은 무시됩니다.

관련 정보