336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

Select-Object

명령의 결과 제한

PS > get-process | Select-Object -first 3

# 첫 번째의 3개의 서비스 출력
 NPM(K)    PM(M)      WS(M)     CPU(s)      Id  SI ProcessName
 ------    -----      -----     ------      --  -- -----------
      0     0.00       0.00       0.00       0 253
      0     0.00       0.00       0.00       1   1
      0     0.00       0.00       0.00      59  59


PS > get-process | Select-Object -last 3

# 마지막의 3개의 서비스 출력
 NPM(K)    PM(M)      WS(M)     CPU(s)      Id  SI ProcessName
 ------    -----      -----     ------      --  -- -----------
      0     0.00       3.41     542.72     753   1 WiFiAgent
      0     0.00       1.94     220.67     465 465 WiFiProxy
      0     0.00       8.80      63.28    1402 402 XprotectService


PS > get-process | Select-Object -Skip 395

# 첫 395개의 목록을 제외하고 출력
 NPM(K)    PM(M)      WS(M)     CPU(s)      Id  SI ProcessName
 ------    -----      -----     ------      --  -- -----------
      0     0.00      11.27       8.43   39626   1 webinspectord
      0     0.00       3.41     542.74     753   1 WiFiAgent
      0     0.00       1.94     220.67     465 465 WiFiProxy
      0     0.00       8.80      63.28    1402 402 XprotectService


PS > get-process | Select-Object -index 0,3

 NPM(K)    PM(M)      WS(M)     CPU(s)      Id  SI ProcessName
 ------    -----      -----     ------      --  -- -----------
      0     0.00       0.00       0.00       0 253
      0     0.00       0.00       0.00      60  60


PS > get-process | Select-Object -index (3..6)

 NPM(K)    PM(M)      WS(M)     CPU(s)      Id  SI ProcessName
 ------    -----      -----     ------      --  -- -----------
      0     0.00       0.00       0.00      60  60
      0     0.00       0.00       0.00      62  62
      0     0.00       0.00       0.00      63  63
      0     0.00       0.00       0.00      64  64

표시할 속성 지정


PS > Get-Process | Select-Object -Property ID,PM -first 3

Id PM
-- --
 0  0
 1  0
59  0

표시할 개체 목록과 개체 속성 선택하기

# 동작중인 로컬 인쇄 스풀러 서비스 찾기
PS > Get-Service -Name App*

# 스풀러 서비스와 종속성이 잇는 서비스 목록을 확인하는 멤버를 찾는다.
PS > Get-Service -Name Spooler | Get-Member | Select-Object -Last 7

# 스풀러 서비스에 종속성이 있는 서비스 목록을 선택
PS > Get-Service -Name Spooler | Select-Object -Property ServicesDependedOn


사용자 지정 속성 사용하기

기본으로 포함된 속성 이름을 좀 더 알기 쉬운 레이블로 변경하거나 특정 속성의 값을 인식하기에 편한 단위로 계산해 표시할 수 있다. 계산된 속성은 해시 테이블이라는 구조로 입력한다.


  • 사용자 지정 속성의 레이블 지정 : label or l, name or n
  • 사용자 지정 속성의 표현식 : expression or e.표현식 내에서는 $PSItem(또는 $_)를 사용하여 파이파의 개체 컬렉션의 각 개체를 참조한다.

<사용자 지정 속성을 만드는 해시 테이블>

@ { # @ : 해시 테이블
     N = 'PagineMemory'; # 레이블 키  = 레이블 문자열 값
     E={ $PSItem.PM }      # 표현식 키 = 표현식 스크립트 블록
}

<< 크기를 바이트 단위로 표시하는 Get-ChildItem 실행 결과>>

PS /> Get-ChildItem -Path /dev/Scala_sample/src/main/scala/example/ | Select-Object -Property Name,Length

Name Length
---- ------
AbsIterator.scala 99
ApplyFunctionTest.scala 526
Classes.scala 163
Combinator.scala 2373
CubeCalculator.scala 95
CurryTest.scala 388
Decorator.scala 618
FilterTest.scala 353
FunctionTest.scala 2446
LoopTest.scala 6044
Main.scala 125
PartiallyAppliedFunction.scala 1185
Point.scala 345
RichIterator.scala 139
Similarity.scala 124
StringIterator.scala 224
StringIteratorTest.scala 207
TestMain.scala 189
TraitsTest.scala 225



위 파워셸 명령을 헤시 테이블로 고쳐서 실행

PS /> Get-ChildItem -Path /dev/Scala_sample/src/main/scala/example/ | Select-Object -Property Name,@{n='Size(MB)'; e={$PSItem.Length/1MB}}

Name Size(MB)
---- --------
AbsIterator.scala 9.44137573242188E-05
ApplyFunctionTest.scala 0.000501632690429688
Classes.scala 0.000155448913574219
Combinator.scala 0.00226306915283203
CubeCalculator.scala 9.05990600585938E-05
CurryTest.scala 0.000370025634765625
Decorator.scala 0.000589370727539063
FilterTest.scala 0.000336647033691406
FunctionTest.scala 0.00233268737792969
LoopTest.scala 0.00576400756835938
Main.scala 0.000119209289550781
PartiallyAppliedFunction.scala 0.00113010406494141
Point.scala 0.000329017639160156
RichIterator.scala 0.000132560729980469
Similarity.scala 0.000118255615234375
StringIterator.scala 0.000213623046875
StringIteratorTest.scala 0.000197410583496094
TestMain.scala 0.000180244445800781
TraitsTest.scala 0.000214576721191406


MB (메가 바이트)로 변환이 되었으나 소수점 자릿수가 많이 나온다. 이렇게 숫자에 소수점 자리가 있는 경우 '번호 서식'을 적용해 표시하는데 데이터의 서식과 소수점 이하 자릿수를 제한할 수 있다.


{[인덱스 번호]:[적용할 서식][자릿수 지정자]} -f [서식 문자열]


  • 숫자 N
  • 통화 C
  • 10진수 D
  • 백분율 P
  • 16진수 X

예) "{0:N2}" -f 42.12345

예제) 시스템의 볼륨 정보 표시
# Get-Volume으로 기본 출력 형식을 확인
# 드라이브 문자와 전체 크기, 남은 크기만 표시하는 명령 구문을 실행
Get-Volume | Select-Object -Property DriverLetter,Size,SizeRemaining

# 전체 크기와 남은 크기의 레이블을 각각 '전체크기(GB)' 와 '남은 크기(GB)'로 표시하고 단위는 기가바이트로 표시
Get-Volume | Select-Object -Property DriverLetter,
@{n='전체 크기(GB)'; e={'{0:N2}' -f ($PSItem.Size/1GB)}},
@{n='남은 크기(GB)'; e={'{0:N2}' -f ($PSItem.SizeRemaining/1GB)}},\


블로그 이미지

뚱땡이 우주인

,