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-Unique
ProcessName 값을 문자열로 처리하도록 지시합니다.
이 매개 변수가 없으면 Get-Unique
ProcessName 값을 개체로 처리하고 목록의 첫 번째 프로세스 이름인 개체의 인스턴스 하나만 반환합니다.
매개 변수
-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 |
입력
모든 형식의 개체를 이 cmdlet으로 파이프할 수 있습니다.
출력
이 cmdlet은 중복 없이 입력 개체를 반환합니다.
참고
Windows PowerShell에는 Get-Unique
다음과 같은 별칭이 포함되어 있습니다.
gu
자세한 내용은 about_Aliases참조하세요.
목록을 정렬하려면 Sort-Object
사용합니다.
Sort-Object
Unique 매개 변수를 사용하여 목록에서 고유한 항목을 찾을 수도 있습니다.
관련 링크
PowerShell