uniq, OS X로 고유 라인 인쇄하기 요세미티


0

열의 고유 항목을 인쇄하려고합니다. .csv 파일. 이를 위해 다음을 시도했습니다.

awk -F "," '{print $6}' dataCoarse.csv | uniq -u

6 번째 열을 그대로 인쇄합니다. 여전히 중복 된 항목이 있습니다. 고유 한 행만 인쇄하려면 어떻게해야합니까?

편집 : 나는 각 줄에있는 모든 문자 앞이나 뒤에 공백을 제거 할 필요가 생각합니다. uniq 어쨌든 그들을 무시하십시오. 어떻게해야합니까?


w / o -u 시도해 봤어?
Romeo Ninov

네, 저는 그것이 별 차이가 없다고 생각합니다. 일부 줄에 끝에 공백이 추가되어 비교가 잘못되었다고 생각합니다.
sodiumnitrate

이 문자를 제거하면 (uniq 이전에) sed의 / $ // '와 같은 작업을 수행 할 수 있습니다. 또는 awk 내에서 스트립합니다.
Romeo Ninov

나는 모든 공란을 제거했다. sed 's/ //' 하지만 여전히 두 개의 동일한 항목이 고유 한 것으로 간주되어 별도로 인쇄됩니다.
sodiumnitrate

od -ax 명령으로 덤프를 시도하여 16 진수 값을 확인하십시오.
Romeo Ninov

답변:


1

나도이 문제가 있었어! 비슷한 문제에 대한 해결책을 확인하십시오. 기본적으로 데이터를 파이프로 연결하려고합니다. sort 첫째, uniq 데이터의 연속 인스턴스를 중복으로 계산합니다.

awk -F "," '{print $6}' dataCoarse.csv | sort -u 찾고있는 출력을 제공해야합니다.


더 나은 sort -u는 uniq 결과를 정렬하고 제공합니다.
Archemar

네가 옳아! 그걸 잊어 버렸어. 귀하의 제안에 따라 수정되었습니다.
Alex Chojnacki
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.