처음 세 개의 열 값을 기반으로 중복 행을 제거합니다.

처음 세 개의 열 값을 기반으로 중복 행을 제거합니다.

다음 내용이 포함된 파일을 받았습니다.

902461360 81636718 32863608 0 정규직 902492248 81415224 32775337 0 임시직 902495059 81686374 32881482 0 정규직 902495059 81686374 28 814 82 0 사원 공급자902504989 81675052 32877123 0 사원 공급자902532086 81691300 32884527 0 사원 공급자902723910 81690082 32882735 0 정규 사원9027 23910 816900 8 2 32882735 0 직원 공급업체

처음 세 값은 다른 행에서 중복될 수 있습니다. 한 인스턴스는 유지하고 다른 중복 항목은 제거하고 싶습니다.

출력은 다음과 같아야합니다

902461360 81636718 32863608 0 정규직 902492248 81415224 32775337 0 임시직 902495059 81686374 32881482 0 정규직 902504989 81675052 28 771 23 0 직원 공급업체 902532086 81691300 32884527 0 직원 공급업체 902723910 81690082 32882735 0 정규 직원

답변1

나는 노력할 것이다

awk '!a[$1 $2 $3]++ { print ;}' file

어디

  • !a[$1 $2 $3]++이 값은 처음 발견될 때 true로 평가됩니다.

바라보다awk '!a[$0]++'는 어떻게 작동하나요?자세한 내용은.

관련 정보