-
[PowerShell 기초] 5. 필터 및 정렬Shell & CMD/PowerShell 2021. 12. 12. 14:01반응형
1. Get-Member
Get-Member는 객체의 타입 및 해당 객체가 가진 멤버의 각 이름과 속성 등을 조회할 수 있는 cmdlet 이다.
해당 예제는 Get-Process 로 실행 중인 프로세스 중 이름(-Name)이 'pwsh' 인 프로세스를 찾아 Get-Member로 출력하는 파이프라인(|) 명령어 조합이다.
이전 챕터 에서 다뤄봤을 수 있지만 해당 cmdlet의 결과는 과하다 싶을 만큼 많은 결과가 출력 된다. 유용한 결과를 추리기 위해선 각 Member의 이름이나 속성을 필터링 하게 된다.
Member에 대한 필터링은 문자의 와일드카드(wildcard)를 이용하여 조회할 수 있다.
하지만 와일드카드만으론 수치형 데이터에 대한 필터링을 수행할 순 없다. 따라서 Where-Object 와 같은 필터링 cmdlet을 사용해야 한다.
2. Where-Object
Where-Object는 전체 데이터 중 특정 조건에 맞는 결과만 출력할 수 있도록 처리하는 cmdlet 이다.
아래 명령어는 실제 메모리 사용량이 25MB 이상인 프로세스를 검색하는 예제이다.
Get-Process | Where-Object WorkingSet -GT 25MB
파이프라인을 추가하여 다중 조건식을 작성할 수도 있다.
Get-Process | Where-Object WorkingSet -GT 25MB | Where-Object WorkingSet -LE 26MB
3. Sort-Object
조건을 통해 결과를 조회했지만 상황에 따라 정렬이 필요할 수 있다. Sort-Object 는 주어진 Member 를 기준으로 결과를 정렬할 수 있게 도와준다.
Get-Process | Where-Object WorkingSet -GT 25MB | Where-Object WorkingSet -LE 50MB | Sort-Object WorkingSet
-Top 조건을 이용해 정렬 결과를 일부만 출력할 수 있다.
정렬 조건은 내림차순(Descending)도 가능하다.
Get-Process | Where-Object WorkingSet -GT 25MB | Where-Object WorkingSet -LE 50MB | Sort-Object CPU, WorkingSet -Descending
요약
Where-Object 와 Sort-Object 는 객체를 사용자가 원하는 조건에 맞춰 필터링하는 기능을 제공한다.
출처 및 참조 :
Where-Object (Microsoft.PowerShell.Core) - PowerShell | Microsoft Docs
Sort-Object (Microsoft.PowerShell.Utility) - PowerShell | Microsoft Docs
반응형'Shell & CMD > PowerShell' 카테고리의 다른 글
[PowerShell 기초] 7. 실행 권한 설정(ExecutionPolicy) (0) 2022.01.03 [PowerShell 기초] 6. Powershell 프로필 설정 (0) 2021.12.26 [PowerShell 기초] 4. 연산자(Operator) (0) 2021.12.11 [PowerShell 기초] 3. 변수(Variables) (0) 2021.12.05 [PowerShell 기초] 2. cmdlet 명령어 기초 (0) 2021.11.28