다음을 통해 공유


Get-Unique

정렬된 목록에서 고유한 항목을 반환합니다.

구문

Get-Unique
   [-InputObject <PSObject>]
   [-AsString]
   [<CommonParameters>]
Get-Unique
   [-InputObject <PSObject>]
   [-OnType]
   [<CommonParameters>]

Description

Get-Unique cmdlet은 정렬된 목록의 각 항목을 다음 항목과 비교하고 중복 항목을 제거하며 각 항목의 인스턴스 하나만 반환합니다. cmdlet이 제대로 작동하려면 목록을 정렬해야 합니다.

Get-Unique 대/소문자를 구분합니다. 따라서 문자 대/소문자만 다른 문자열은 고유한 것으로 간주됩니다.

예제

예제 1: 텍스트 파일에서 고유한 단어 가져오기

이러한 명령은 텍스트 파일에서 고유한 단어 수를 찾습니다.

$A = $( foreach ($line in Get-Content C:\Test1\File1.txt) {
    $line.tolower().split(" ")
  }) | Sort-Object | Get-Unique
$A.count

첫 번째 명령은 File.txt 파일의 콘텐츠를 가져옵니다. 각 텍스트 줄을 소문자로 변환한 다음 각 단어를 공백(" ")의 별도 줄로 분할합니다. 그런 다음 결과 목록을 사전순(기본값)으로 정렬하고 Get-Unique cmdlet을 사용하여 중복 단어를 제거합니다. 결과는 $A 변수에 저장됩니다.

두 번째 명령은 $A 문자열 컬렉션의 Count 속성을 사용하여 $A있는 항목 수를 확인합니다.

예제 2: 배열에서 고유 정수 가져오기

이 명령은 정수 집합의 고유 멤버를 찾습니다.

1,1,1,1,12,23,4,5,4643,5,3,3,3,3,3,3,3 | Sort-Object | Get-Unique

1
3
4
5
12
23
4643

첫 번째 명령은 명령줄에 입력된 정수 배열을 사용하여 정렬할 Sort-Object cmdlet으로 파이프한 다음 Get-Unique파이프하여 중복 항목을 제거합니다.

예제 3: 디렉터리에서 고유한 개체 형식 가져오기

이 명령은 Get-ChildItem cmdlet을 사용하여 파일 및 디렉터리를 포함하는 로컬 디렉터리의 콘텐츠를 검색합니다.

Get-ChildItem | Sort-Object {$_.GetType()} | Get-Unique -OnType

파이프라인 연산자(|)는 결과를 Sort-Object cmdlet으로 보냅니다. $_.GetType() 문은 각 파일 또는 디렉터리에 GetType 메서드를 적용합니다. 그런 다음 Sort-Object 항목을 형식별로 정렬합니다. 다른 파이프라인 연산자는 결과를 Get-Unique보냅니다. OnType 매개 변수는 Get-Unique 각 형식의 개체를 하나만 반환하도록 지시합니다.

예제 4: 고유 프로세스 가져오기

이 명령은 중복 항목이 제거된 컴퓨터에서 실행 중인 프로세스의 이름을 가져옵니다.

Get-Process | Sort-Object | Select-Object processname | Get-Unique -AsString

Get-Process 명령은 컴퓨터의 모든 프로세스를 가져옵니다. 파이프라인 연산자(|)는 결과를 Sort-Object전달하며, 기본적으로 프로세스 이름은 사전순으로 정렬됩니다. 결과는 각 개체의 ProcessName 속성 값만 선택하는 Select-Object cmdlet으로 파이프됩니다. 그런 다음 결과는 중복 항목을 제거하기 위해 Get-Unique 파이프됩니다.

AsString 매개 변수는 Get-UniqueProcessName 값을 문자열로 처리하도록 지시합니다. 이 매개 변수가 없으면 Get-UniqueProcessName 값을 개체로 처리하고 목록의 첫 번째 프로세스 이름인 개체의 인스턴스 하나만 반환합니다.

매개 변수

-AsString

이 cmdlet이 데이터를 문자열로 사용한다는 것을 나타냅니다. 이 매개 변수가 없으면 데이터가 개체로 처리되므로 파일 컬렉션과 같이 Get-Unique동일한 형식의 개체 컬렉션을 제출하면 첫 번째 개체만 반환됩니다. 이 매개 변수를 사용하여 파일 이름과 같은 개체 속성의 고유한 값을 찾을 수 있습니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-InputObject

Get-Unique입력을 지정합니다. 개체를 포함하는 변수를 입력하거나 개체를 가져오는 명령이나 식을 입력합니다.

이 cmdlet은 InputObject 사용하여 제출된 입력을 컬렉션으로 처리합니다. 컬렉션의 개별 항목을 열거하지 않습니다. 컬렉션은 단일 항목이므로 InputObject 사용하여 제출된 입력은 항상 변경되지 않은 상태로 반환됩니다.

형식:PSObject
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-OnType

이 cmdlet은 각 형식의 개체를 하나만 반환한다는 것을 나타냅니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

입력

PSObject

모든 형식의 개체를 이 cmdlet으로 파이프할 수 있습니다.

출력

PSObject

이 cmdlet은 중복 없이 입력 개체를 반환합니다.

참고

Windows PowerShell에는 Get-Unique다음과 같은 별칭이 포함되어 있습니다.

  • gu

자세한 내용은 about_Aliases참조하세요.

목록을 정렬하려면 Sort-Object사용합니다. Sort-Object Unique 매개 변수를 사용하여 목록에서 고유한 항목을 찾을 수도 있습니다.