마지막 행 $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 ' '
(하나 이상의 공백 문자 시퀀스가 다음과 같이 작동하는 기본 필드 분할 동작이 제공됨).하나구분 기호와 선행 및 후행 공백은 무시됩니다.