다음을 통해 공유


Get-Unique

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

Syntax

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

Description

cmdlet은 Get-Unique 정렬된 목록의 각 항목을 다음 항목과 비교하고 중복 항목을 제거하고 각 항목의 인스턴스를 하나만 반환합니다. 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 내용을 가져옵니다. 각 텍스트 줄을 소문자로 변환한 다음 각 단어를 공백(" ")의 별도 줄로 분할합니다. 그런 다음 결과 목록을 사전순(기본값)으로 정렬하고 cmdlet을 Get-Unique 사용하여 중복 단어를 제거합니다. 결과는 변수에 $A 저장됩니다.

두 번째 명령은 문자열 컬렉션의 Count 속성을 사용하여 항목 수를 결정$A합니다$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: 디렉터리에서 고유한 개체 형식 가져오기

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

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

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

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

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

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

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

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

매개 변수

-AsString

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

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

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

Type:PSObject
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-OnType

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

입력

PSObject

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

출력

PSObject

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

참고

Windows PowerShell에는 다음 별칭이 포함됩니다.Get-Unique

  • gu

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

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