uniq -u는 무엇을 의미하나요? 그것은 무엇을 합니까? [복사]

uniq -u는 무엇을 의미하나요? 그것은 무엇을 합니까? [복사]

uniquniq -u둘 다에 대한 설명은 "고유한 줄만"이지만 둘과는 다른 작업을 수행하는 것 같습니다 .

여기서 차이점은 무엇이며 무엇을 합니까?

답변1

테스트하기 쉬워야 합니다.

$ cat file
1
2
3
3
4
4
$ uniq file
1
2
3
4
$ uniq -u file
1
2

즉, uniq옵션을 사용하지 않으면 연속 중복 행의 인스턴스 하나만 제외하고 모두 제거됩니다. GNU uniq매뉴얼에는 다음과 같이 명시되어 있습니다.

옵션이 없으면 일치하는 줄이 첫 번째 항목으로 병합됩니다.

하지만POSIX 라고

[...] 출력에 각 입력 라인의 복사본을 씁니다. 중복된 인접 입력 라인의 두 번째 및 후속 복사본을 작성하면 안 됩니다.

-u옵션을 사용하면 제거됩니다.모두행의 인스턴스는 계속 반복되며, 반복되지 않는 행만 남습니다. GNU uniq매뉴얼에는 다음과 같은 내용이 있습니다.

고유한 줄만 인쇄

POSIX 라고

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

답변2

~에서독특한(1):

NAME
  uniq - report or omit repeated lines
DESCRIPTION
  ...
  With no options, matching lines are merged to the first occurrence.
  ...
  -u, --unique
         only print unique lines

시도해 보면 다음과 같습니다.

$ cat file
cat
dog
dog
bird
$ uniq file
cat
dog
bird
$ uniq -u file
cat
bird

uniq중복 행의 첫 번째 인스턴스가 인쇄되는 것을 볼 수 있습니다 . uniq -u중복된 줄을 인쇄하지 마십시오.

답변3

허용된 답변에 대한 원본 포스터의 의견을 고려할 때 다른 예가 명령의 차이점과 요점을 설명하는 데 도움이 될 수 있다고 생각합니다.

어떤 이유로 인해 줄 사이에 빈 줄이 반복되고 시작과 끝에 빈 줄이 있는 텍스트 섹션이 있다고 가정해 보겠습니다.

$ cat declaration_quote.txt

We hold these truths to be self-evident, that all men are created equal, that


they are endowed by their Creator with certain unalienable Rights, that among


these are Life, Liberty and the pursuit of Happiness.

빈 줄의 간격이 충분하다고 확신하는 경우 다음을 uniq사용할 수 있습니다.

  • 반복되지 않는 위와 아래의 모든 줄(여기에는 시작과 끝 부분에 텍스트와 단일 빈 줄이 있는 줄이 있습니다)
  • 인접한 반복 줄의 각 세트에서 한 줄(여기서는 첫 번째 줄과 마지막 줄을 제외한 빈 줄)입니다.

그렇지 않다"모든 일은 단 한 번만 일어난다", 대신에"연속 그룹당 1회각 빈 행 집합에서 별도의 빈 행을 받게 되기 때문입니다. 이런 일이 두 번 이상 일어났습니다. 또한 바로 위나 아래에 빈 줄이 없기 때문에 선행 및 후행 빈 줄이 유지됩니다.

$ uniq declaration_quote.txt 

We hold these truths to be self-evident, that all men are created equal, that

they are endowed by their Creator with certain unalienable Rights, that among

these are Life, Liberty and the pursuit of Happiness.

uniq -u이러한 이중 간격이 전혀 필요하지 않다고 결정한 경우 즉시 반복되지 않는 위 또는 아래 줄의 모든 줄만 가져오는 데 를 사용할 수 있습니다 . 하지만 아직은 아니야 "한 번만 나타나는 것"텍스트에 다른 빈 줄이 많더라도 단일 빈 줄(시작과 끝)을 제거하지 않기 때문입니다."즉시 반복되지 않는 일만 수행".

$ uniq -u declaration_quote.txt

We hold these truths to be self-evident, that all men are created equal, that
they are endowed by their Creator with certain unalienable Rights, that among
these are Life, Liberty and the pursuit of Happiness.

관련 정보