Computer >> 컴퓨터 >  >> 프로그램 작성 >> BASH 프로그래밍

Linux의 uniq 명령 – 자습서 및 예제

이 도움말에서는 고유를 사용하는 방법을 설명합니다. Linux에서 명령을 사용하여 파일에서 반복되는 줄을 찾거나 필터링하고 몇 가지 사용 예를 제공합니다.

고유 command는 제공된 입력 또는 파일에서 반복되는 행을 출력하거나 생략하는 간단한 명령입니다.

고유 명령 구문

uniq 구문 명령은 다음과 같습니다.

uniq OPTIONS INPUT OUTPUT

참고:

  • 옵션 아래 표의 옵션 목록입니다.
  • 입력 읽을 파일의 경로여야 합니다
    • *표준 입력 *사용 가능
  • 출력 uniq 결과가 포함된 파일이어야 합니다. 명령이 저장됩니다
    • 제공되지 않은 경우 표준 출력 사용됩니다(기본적으로 콘솔에 결과가 인쇄됨)

입력 또는 출력 파일이 정의되지 않은 경우 입력 및 출력을 uniq로/에서 리디렉션할 수 있습니다. STDIN 및 STDOUT을 사용하는 명령 – 수행 방법에 대한 자세한 내용은 이 문서를 확인하세요.

옵션

아래 표는 사용 설명서에서 일반적으로 사용되는 옵션을 나열합니다.

<일>
-c 발생 횟수로 줄 접두사
-d 각 그룹에 하나씩 중복 행만 인쇄
-D 중복된 줄 모두 인쇄
-i 비교할 때 대소문자 차이 무시
-s 처음 N 문자를 비교하지 마십시오.
-u 고유한 줄만 인쇄

uniq에 대한 전체 사용자 설명서를 볼 수 있습니다. 다음을 실행하여 명령:

man uniq

고유 명령 예

예시 파일

다음 예제에서는 다음 예제 파일을 입력으로 사용합니다.

movies.txt

Dirty Harry
Dirty Harry
Total Recall
Bride of Frankenstein
Total Recall
Demolition Man

기본 동작 – 반복되는 줄 제거

기본적으로 고유 명령은 반복되는 줄을 제거합니다.

uniq movies.txt

출력:

Dirty Harry
Total Recall
Bride of Frankenstein
Total Recall
Demolition Man

반복되는 줄은 제거됩니다. 중복되지 않습니다. 인접한 동일한 선만 제거됩니다.

반복 횟수 표시

-c 옵션은 반복 횟수를 각 줄 앞에 추가합니다.

uniq -c movies.txt

어떤 출력:

2 Dirty Harry
1 Total Recall
1 Bride of Frankenstein
1 Total Recall
1 Demolition Man

반복되지 않는 행만 표시

-u 옵션은 반복되지 않는 행만 표시합니다:

uniq -u movies.txt

출력:

Total Recall
Bride of Frankenstein
Total Recall
Demolition Man

반복되는 줄만 표시

-d 옵션은 반복되는 줄만 표시합니다:

uniq -d movies.txt

출력:

Dirty Harry

다시 – 반복되는 줄이 포함되거나 제외됩니다. 중복된 라인이 아닙니다. 인접한 동일한 줄만 uniq에 의해 처리됩니다. 명령!

결과 저장

파일 이름을 명령의 최종 매개변수로 전달하여 해당 파일에 결과를 저장합니다.

uniq -d movies.txt duplicated.txt

표준 리디렉션 사용

위에서 언급했듯이 입력 및 출력 파일을 uniq 명령.

표준 리디렉션은 다른 명령 및 응용 프로그램의 출력을 uniq로 보낼 수 있으며, uniq는 고유한 출력을 다른 프로그램이나 파일로 리디렉션할 수 있습니다.

cat movies.txt | uniq > output.txt

위의 예에서 cat 명령어는 예시 파일을 읽는 데 사용되며 그 출력은 unique 명령. 그런 다음 uniq 명령의 출력이 >을 사용하여 파일로 리디렉션됩니다. 연산자.

분명히 이것은 입력/출력 파일에 대한 경로를 제공하기 위한 추가 기능을 실제로 제공하지 않습니다. 그래도 명령의 출력이 다른 사람에게 어떻게 파이프/리다이렉트될 수 있는지에 대한 분명한 예입니다.