두 개의 열 "이름"과 "날짜"와 탭으로 구분 된 텍스트 파일을 감안할 때 :분할
Sam 20100101
Sam 20100101
Sam 20100102
George 20100101
George 20100101
George 20100102
내가 같은 파티션 누적 합계로 세 번째 열을 추가 AWK 사용할 수 열 1과 2의 각 고유 한 패턴에 대해 0에서 카운터를 시작한 다음 패턴의 반복을 위해 증가시킵니다. 테이블
에서 (열 1로 파티션, 열 열 (10)에 의해 두 개의 순서) 이상 선택 ROW_NUMBER()를하지만 대안이 필요 - 반드시 AWK를하지만,이 와서 :
Sam 20100101 1
Sam 20100101 2
Sam 20100102 1
George 20100101 1
George 20100101 2
George 20100102 1
나는 SQL에서이 작업을 수행 to mind - SQL에 의해 처리되지 않은 텍스트 파일들. 텍스트 파일은 ~ 50GB이고 각각 약 200mil 행입니다.
중복 행을 제거하려면 카운터를 사용합니다. 위의 예를 보면 다음과 같이 할 수 있음을 알고 있습니다.
sort myfile.txt | uniq -u
내 텍스트 파일에는 완전히 복제 된 행을 생성하지 않을 수있는 필자의 예 (간단히하기 위해)에 포함되지 않은 추가 열이 있습니다. |
은 내가
정렬 MYFILE.TXT에만 이름과 날짜 열을 일치하도록 매개 변수를 추가해야 유니크 -u
명령? 아휴? 다른 것?
감사합니다. 모든 줄이 동일한 서식을 가지고있는 것은 아닙니다. ++ a [$ 0]을 처음 두 열에서만 일치시키는 것으로 전환 할 수 있습니까? ++ a [$ 1 $ 2]? –
@M. Roessler 예, 괜찮습니다. – schot