![uniq가 선행 문자는 무시할 수 있지만 후행 문자는 무시할 수 없는 이유는 무엇입니까? [폐쇄]](https://linux55.com/image/105007/uniq%EA%B0%80%20%EC%84%A0%ED%96%89%20%EB%AC%B8%EC%9E%90%EB%8A%94%20%EB%AC%B4%EC%8B%9C%ED%95%A0%20%EC%88%98%20%EC%9E%88%EC%A7%80%EB%A7%8C%20%ED%9B%84%ED%96%89%20%EB%AC%B8%EC%9E%90%EB%8A%94%20%EB%AC%B4%EC%8B%9C%ED%95%A0%20%EC%88%98%20%EC%97%86%EB%8A%94%20%EC%9D%B4%EC%9C%A0%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%ED%8F%90%EC%87%84%5D.png)
이것POSIX 관련 명령줄 도구uniq
"파일의 중복된 줄을 보고하거나 필터링"하도록 설계되었습니다. 전체 행 비교와 관련된 사용 사례 외에도 부분 행 비교에는 두 가지 옵션이 있습니다.
-f <number>
첫 번째<number>
필드를 무시하고-s <number>
첫 번째<number>
문자를 무시합니다(무시된 필드 다음부터 시작-f
).
uniq
내가 이해하지 못하는 것은 무시를 허용하는 기능이 추가되지 않은 이유입니다.첫 번째 빼고 다 <number>
필드.
일반적인 Awk 관용구는 다음과 같습니다:
awk '!a[$1]++'
다음을 포함하는 행만 인쇄합니다.첫 등장첫 번째 분야의 출현.
제 생각에는 이것은 의 기능과 매우 유사합니다 uniq
.
물론 도구가 겹치는 것은 괜찮습니다. 그러나 -f
병렬 기능을 포함하지 않는 역사적 또는 UNIX 철학 기반 이유가 있습니까?오직첫 번째 ____ 필드를 고려하시겠습니까?
답변1
나는 역사적 또는 UNIX 철학 기반 이유(있는 경우)를 모르지만 몇 년 전에 누군가가 coreutils
해당 기능을 uniq
.