Get-Unique
정렬된 목록에서 고유한 항목을 반환합니다.
구문
AsString (기본값)
Get-Unique
[-InputObject <PSObject>]
[-AsString]
[-CaseInsensitive]
[<CommonParameters>]
UniqueByType
Get-Unique
[-InputObject <PSObject>]
[-OnType]
[-CaseInsensitive]
[<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 속성을 사용하여 $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 값을 개체로 처리하고 목록의 첫 번째 프로세스 이름인 개체의 인스턴스 하나만 반환합니다.
예제 5: 대/소문자 구분 비교를 사용하여 고유 문자열 가져오기
이 예제에서는 대/소문자를 구분하지 않는 비교를 사용하여 문자열 배열에서 고유 문자열을 가져옵니다.
"aa", "Aa", "Bb", "bb", "aa" | Sort-Object -CaseSensitive | Get-Unique
aa
Aa
bb
Bb
예제 6: 대/소문자를 구분하지 않는 비교를 사용하여 고유 문자열 가져오기
이 예제에서는 대/소문자를 구분하지 않는 비교를 사용하여 문자열 배열에서 고유 문자열을 가져옵니다.
"aa", "Aa", "Bb", "bb", "aa" | Sort-Object | Get-Unique -CaseInsensitive
aa
Bb
매개 변수
-AsString
이 cmdlet이 데이터를 문자열로 사용한다는 것을 나타냅니다. 이 매개 변수가 없으면 데이터가 개체로 처리되므로 파일 컬렉션과 같이 Get-Unique동일한 형식의 개체 컬렉션을 제출하면 첫 번째 개체만 반환됩니다. 이 매개 변수를 사용하여 파일 이름과 같은 개체 속성의 고유한 값을 찾을 수 있습니다.
매개 변수 속성
| 형식: | SwitchParameter |
| Default value: | False |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
AsString
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-CaseInsensitive
기본적으로 Get-Unique는 대소문자를 구분하는 상태로 설정되어 있습니다. 이 매개 변수를 사용하는 경우 cmdlet은 대/소문자를 구분하지 않는 비교를 사용합니다.
이 매개 변수는 PowerShell 7.4에 추가되었습니다.
매개 변수 속성
| 형식: | SwitchParameter |
| Default value: | False |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-InputObject
Get-Unique입력을 지정합니다. 개체를 포함하는 변수를 입력하거나 개체를 가져오는 명령이나 식을 입력합니다.
이 cmdlet은 InputObject 사용하여 제출된 입력을 컬렉션으로 처리합니다. 컬렉션의 개별 항목을 열거하지 않습니다. 컬렉션은 단일 항목이므로 InputObject 사용하여 제출된 입력은 항상 변경되지 않고 반환됩니다.
매개 변수 속성
| 형식: | PSObject |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | True |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-OnType
이 cmdlet은 각 형식의 개체를 하나만 반환한다는 것을 나타냅니다.
매개 변수 속성
| 형식: | SwitchParameter |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
UniqueByType
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
CommonParameters
이 cmdlet은 일반적인 매개 변수인 -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction 및 -WarningVariable 매개 변수를 지원합니다. 자세한 내용은 about_CommonParameters를 참조하세요.
입력
PSObject
모든 형식의 개체를 이 cmdlet으로 파이프할 수 있습니다.
출력
PSObject
이 cmdlet은 중복 없이 입력 개체를 반환합니다.
참고
PowerShell에는 Get-Unique에 대한 다음과 같은 별칭들이 포함되어 있습니다.
- 모든 플랫폼:
gu
자세한 내용은 about_Aliases참조하세요.
목록을 정렬하려면 Sort-Object사용합니다.
의 Sort-Object 매개 변수를 사용하여 목록에서 고유 항목을 찾을 수도 있습니다.