"sort -u"와 "sort | Unique -u` 사용의 차이점

"sort -u"와 "sort | Unique -u` 사용의 차이점

Bash를 탐색하는 동안 파일에서 한 번만 나타나는 텍스트 줄을 찾는 것과 관련된 레벨을 발견했습니다.

명령의 출력이 의 출력 sort -u file과 다른 이유는 무엇입니까 sort file| uniq -u? 그들은 동일해야 하지 않나요?

답변1

sort -u그리고sort | uniq 동일한 출력을 생성합니다*: 입력의 모든 라인(오름차순으로 라인당 정확히 한 번). 이것이 기본 동작입니다 uniq.

uniq -u반면에 다음이 필요합니다.:

-u입력에 중복된 줄을 쓰는 것을 억제합니다.

이것은 매우 다른 동작입니다. 해당 줄만원하지 않는다출력을 반복하십시오. 파일이 먼저 정렬되면 이 줄은 전체 파일에서 한 번만 나타납니다(원하는 대로).


* 일부 있습니다Stéphane이 관련 질문에 대한 답변에서 지적한 평등을 언제, 어떻게 고려해야 하는지에 sort대한 경고uniq. POSIX 로케일 또는 일부 표준화된 문서 형식의 경우 다른 경우에도 동일하지만 상당한 차이가 있을 수 있습니다.

관련 정보