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.