uniq가 선행 문자는 무시할 수 있지만 후행 문자는 무시할 수 없는 이유는 무엇입니까? [폐쇄]

uniq가 선행 문자는 무시할 수 있지만 후행 문자는 무시할 수 없는 이유는 무엇입니까? [폐쇄]

이것POSIX 관련 명령줄 도구uniq"파일의 중복된 줄을 보고하거나 필터링"하도록 설계되었습니다. 전체 행 비교와 관련된 사용 사례 외에도 부분 행 비교에는 두 가지 옵션이 있습니다.

  • -f <number>첫 번째 <number>필드를 무시하고
  • -s <number>첫 번째 <number>문자를 무시합니다(무시된 필드 다음부터 시작 -f).

uniq내가 이해하지 못하는 것은 무시를 허용하는 기능이 추가되지 않은 이유입니다.첫 번째 빼고 다 <number>필드.

일반적인 Awk 관용구는 다음과 같습니다:

awk '!a[$1]++'

다음을 포함하는 행만 인쇄합니다.첫 등장첫 번째 분야의 출현.

제 생각에는 이것은 의 기능과 매우 유사합니다 uniq.

물론 도구가 겹치는 것은 괜찮습니다. 그러나 -f병렬 기능을 포함하지 않는 역사적 또는 UNIX 철학 기반 이유가 있습니까?오직첫 번째 ____ 필드를 고려하시겠습니까?

답변1

나는 역사적 또는 UNIX 철학 기반 이유(있는 경우)를 모르지만 몇 년 전에 누군가가 coreutils해당 기능을 uniq.

rev | uniq -f | rev충분하다고 생각됨

관련 정보