다음을 통해 공유


Get-Unique

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

구문

Get-Unique [-AsString] [-InputObject <psobject>] [<CommonParameters>]

Get-Unique [-OnType] [-InputObject <psobject>] [<CommonParameters>]

설명

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

매개 변수

-AsString

데이터를 문자열로 처리합니다. 이 매개 변수가 없으면 데이터가 개체로 처리되어 같은 유형의 개체 컬렉션(예: 파일 컬렉션)을 Get-Unique에 전송할 때 하나(첫 번째)만 반환합니다. 이 매개 변수를 사용하여 파일 이름과 같이 개체 속성의 고유한 값을 찾을 수 있습니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-InputObject <psobject>

Get-Unique에 대한 입력을 허용합니다. 개체가 포함된 변수를 입력하거나 개체를 가져오는 명령 또는 식을 입력하십시오.

Get-Unique는 InputObject를 컬렉션으로 사용하여 전송한 입력을 처리하며 컬렉션의 개별 항목을 열거하지 않습니다. 컬렉션은 단일 항목이므로 InputObject를 사용하여 전송한 입력은 항상 변경되지 않은 상태로 반환됩니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

true (ByValue)

와일드카드 문자 적용 여부

false

-OnType

각 유형에 대해 하나의 개체만 반환합니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

<CommonParameters>

이 cmdlet은 -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, -OutVariable 등의 일반 매개 변수를 지원합니다. 자세한 내용은 about_commonparameters.

입력 및 출력

입력 유형은 cmdlet으로 파이프할 수 있는 개체의 유형입니다. 반환 유형은 cmdlet에서 반환되는 개체의 유형입니다.

입력

System.Management.Automation.PSObject

임의의 개체 유형을 Get-Unique로 파이프할 수 있습니다.

출력

System.Management.Automation.PSObject

Get-Unique가 반환하는 개체 유형은 입력에 의해 결정됩니다.

참고

또한 해당 기본 제공 별칭("gu")으로 Get-Unique를 참조할 수 있습니다. 자세한 내용은 about_Aliases를 참조하십시오.

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

예 1

C:\PS>$a = $(foreach ($line in get-content C:\Test1\File1.txt) {$line.tolower().split(" ")}) | sort | get-unique

C:\PS> $a.count

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

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

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





예 2

C:\PS>1,1,1,1,12,23,4,5,4643,5,3,3,3,3,3,3,3 | sort-object | Get-Unique

설명
-----------
이 명령은 정수 집합의 고유한 수를 찾습니다. 첫 번째 명령은 명령줄에 입력한 정수의 배열을 가져오고 Sort-Object cmdlet으로 파이프하여 정렬한 다음 Get-Unique로 파이프하여 중복된 항목을 제거합니다.





예 3

C:\PS>get-childitem | sort-object {$_.GetType()} |  unique -OnType

설명
-----------
이 명령은 Get-ChildItem cmdlet을 사용하여 파일과 디렉터리를 비롯한 로컬 디렉터리의 내용을 검색합니다. 파이프라인 연산자(|)는 결과를 Sort-Object cmdlet으로 보냅니다. "$_.GetType()" 문은 GetType 메서드를 각 파일이나 디렉터리에 적용합니다. 그런 다음 Sort-Object가 유형별로 항목을 정렬합니다. 다른 파이프라인 연산자는 정렬된 결과를 Get-Unique로 보냅니다. OnType 매개 변수는 Get-Unique에 지시하여 각 유형에 대해 하나의 개체만 반환하도록 합니다.





예 4

C:\PS>get-process | sort-object | select processname | get-unique -asstring

설명
-----------
이 명령은 컴퓨터에서 실행 중인 프로세스 이름에서 중복된 이름을 제거하고 고유한 이름만 가져옵니다. 

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

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





참고 항목

개념

Select-Object
Sort-Object