Measure-Object
개체의 숫자 속성과 텍스트 파일 등 문자열 개체의 문자, 단어 및 줄을 계산합니다.
구문
GenericMeasure (기본값)
Measure-Object
[[-Property] <PSPropertyExpression[]>]
[-InputObject <PSObject>]
[-StandardDeviation]
[-Sum]
[-AllStats]
[-Average]
[-Maximum]
[-Minimum]
[<CommonParameters>]
TextMeasure
Measure-Object
[[-Property] <PSPropertyExpression[]>]
[-InputObject <PSObject>]
[-Line]
[-Word]
[-Character]
[-IgnoreWhiteSpace]
[<CommonParameters>]
Description
Measure-Object cmdlet은 특정 유형의 개체의 속성 값을 계산합니다.
Measure-Object 명령의 매개 변수에 따라 세 가지 유형의 측정을 수행합니다.
Measure-Object cmdlet은 개체의 속성 값에 대한 계산을 수행합니다.
Measure-Object을(를) 사용하여 개체의 수를 세거나, 특정 Property를 통해 개체 수를 계산할 수 있습니다.
Measure-Object 사용하여 최소, 최대, Sum, StandardDeviation 및 숫자 값의 평균 계산할 수도 있습니다.
String 개체의 경우 Measure-Object 사용하여 줄, 단어 및 문자 수를 계산할 수도 있습니다.
예제
예제 1: 디렉터리의 파일 및 폴더 수 계산
이 명령은 현재 디렉터리의 파일 및 폴더 수를 계산합니다.
Get-ChildItem | Measure-Object
예제 2: 디렉터리의 파일 측정
이 명령은 최소, 최대및 Sum 현재 디렉터리에 있는 모든 파일의 크기와 디렉터리에 있는 파일의 평균 크기를 표시합니다.
Get-ChildItem | Measure-Object -Property Length -Minimum -Maximum -Sum -Average
예제 3: 텍스트 파일의 텍스트 측정
이 명령은 Text.txt 파일의 문자, 단어 및 줄 수를 표시합니다.
Raw 매개 변수가 없으면 Get-Content 파일을 줄 배열로 출력합니다.
첫 번째 명령은 Set-Content 사용하여 파일에 일부 기본 텍스트를 추가합니다.
"One", "Two", "Three", "Four" | Set-Content -Path C:\Temp\tmp.txt
Get-Content C:\Temp\tmp.txt | Measure-Object -Character -Line -Word
Lines Words Characters Property
----- ----- ---------- --------
4 4 15
예제 4: 지정된 속성을 포함하는 개체 측정
이 예제에서는 DisplayName 속성이 있는 개체의 수를 계산합니다. 처음 두 명령은 로컬 컴퓨터의 모든 서비스 및 프로세스를 검색합니다. 세 번째 명령은 결합된 서비스 및 프로세스 수를 계산합니다. 마지막 명령은 두 컬렉션을 결합하고 결과를 Measure-Object으로 파이프합니다.
System.Diagnostics.Process 개체에는 DisplayName 속성이 없으며 최종 개수에서 제외됩니다.
$services = Get-Service
$processes = Get-Process
$services + $processes | Measure-Object
$services + $processes | Measure-Object -Property DisplayName
Count : 682
Average :
Sum :
Maximum :
Minimum :
Property :
Count : 290
Average :
Sum :
Maximum :
Minimum :
Property : DisplayName
예제 5: CSV 파일의 내용 측정
이 명령은 회사 직원의 평균 서비스 연도를 계산합니다.
ServiceYrs.csv 파일은 각 직원의 직원 수와 수년간의 서비스를 포함하는 CSV 파일입니다. 테이블의 첫 번째 행은 사원 번호(), 근속 연수()로 구성된 헤더 행입니다.
Import-Csv을 사용하여 파일을 가져오면, 결과는 EmpNo 및 Years라는 노트 속성을 가진 PSCustomObject입니다.
Measure-Object 사용하여 개체의 다른 속성과 마찬가지로 이러한 속성의 값을 계산할 수 있습니다.
Import-Csv D:\test\serviceyrs.csv | Measure-Object -Property Years -Minimum -Maximum -Average
예제 6: 부울 값 측정
이 예제는 Measure-Object가 불리언 값을 측정하는 방법을 보여 줍니다.
이 경우 PSIsContainer논리 변수 속성을 사용하여 현재 디렉터리에서 폴더와 파일 간의 비율을 측정합니다.
Get-ChildItem | Measure-Object -Property PSIsContainer -Maximum -Sum -Minimum -Average
Count : 126
Average : 0.0634920634920635
Sum : 8
Maximum : 1
Minimum : 0
StandardDeviation :
Property : PSIsContainer
예제 7: 문자열 측정
다음 예제에서는 줄 수를 측정하고, 먼저 단일 문자열을 측정한 다음, 여러 문자열을 측정합니다. 줄 바꿈 문자 `n 문자열을 여러 줄로 구분합니다.
# The newline character `n separates the string into separate lines, as shown in the output.
"One`nTwo`nThree"
"One`nTwo`nThree" | Measure-Object -Line
One
Two
Three
Lines Words Characters Property
----- ----- ---------- --------
3
# The first string counts as a single line.
# The second string is separated into two lines by the newline character.
"One", "Two`nThree" | Measure-Object -Line
Lines Words Characters Property
----- ----- ---------- --------
3
# The Word switch counts the number of words in each InputObject
# Each InputObject is treated as a single line.
"One, Two", "Three", "Four Five" | Measure-Object -Word -Line
Lines Words Characters Property
----- ----- ---------- --------
3 5
예제 8: 모든 값 측정
PowerShell 6부터 의 Measure-Object 매개 변수를 사용하면 모든 통계를 한꺼번에 측정할 수 있습니다.
1..5 | Measure-Object -AllStats
Count : 5
Average : 3
Sum : 15
Maximum : 5
Minimum : 1
StandardDeviation : 1.58113883008419
Property :
예제 9: scriptblock 속성을 사용하여 측정
PowerShell 6부터 Measure-ObjectScriptBlock 속성을 지원합니다. 다음 예제에서는 ScriptBlock 속성을 사용하여 디렉터리에 있는 모든 파일의 크기를 메가바이트 단위로 확인하는 방법을 보여 줍니다.
Get-ChildItem | Measure-Object -Sum {$_.Length/1MB}
예제 10: 해시 테이블 측정
PowerShell 6부터 Measure-Object는 해시 테이블 입력 측정 기능을 제공합니다. 다음 예제에서는 3개의 num 개체의 키에 대한 가장 큰 값을 결정합니다.
@{num=3}, @{num=4}, @{num=5} | Measure-Object -Maximum Num
Count : 3
Average :
Sum :
Maximum : 5
Minimum :
StandardDeviation :
Property : num
예제 11: 표준 편차 측정
PowerShell 6부터 Measure-ObjectStandardDeviation 매개 변수를 지원합니다. 다음 예제에서는 모든 프로세스에서 사용하는 CPU에 대한 표준 편차 결정합니다. 편차가 크면 CPU를 가장 많이 사용하는 프로세스 수가 적습니다.
Get-Process | Measure-Object -Average -StandardDeviation CPU
Count : 303
Average : 163.032384488449
Sum :
Maximum :
Minimum :
StandardDeviation : 859.444048419069
Property : CPU
예제 12: 와일드카드를 사용하여 측정
PowerShell 6부터 Measure-Object 속성 이름에 와일드카드를 사용하여 개체 측정을 지원합니다. 다음 예제에서는 프로세스 집합 중 페이징된 메모리 사용량의 최대 유형을 결정합니다.
Get-Process | Measure-Object -Maximum *paged*memory*size
Count : 303
Average :
Sum :
Maximum : 735784
Minimum :
StandardDeviation :
Property : NonpagedSystemMemorySize
Count : 303
Average :
Sum :
Maximum : 352104448
Minimum :
StandardDeviation :
Property : PagedMemorySize
Count : 303
Average :
Sum :
Maximum : 2201968
Minimum :
StandardDeviation :
Property : PagedSystemMemorySize
Count : 303
Average :
Sum :
Maximum : 719032320
Minimum :
StandardDeviation :
Property : PeakPagedMemorySize
매개 변수
-AllStats
cmdlet이 지정된 속성의 모든 통계를 표시함을 나타냅니다.
매개 변수 속성
| 형식: | SwitchParameter |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
GenericMeasure
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-Average
cmdlet에 지정된 속성의 평균 값이 표시됨을 나타냅니다.
매개 변수 속성
| 형식: | SwitchParameter |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
GenericMeasure
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-Character
cmdlet이 입력 개체의 문자 수를 계산한다는 것을 나타냅니다.
비고
매개 변수 속성
| 형식: | SwitchParameter |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
TextMeasure
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-IgnoreWhiteSpace
cmdlet이 문자 수를 계산할 때 공백을 무시함을 나타냅니다. 기본적으로 공백은 무시되지 않습니다.
매개 변수 속성
| 형식: | SwitchParameter |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
TextMeasure
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-InputObject
측정할 개체를 지정합니다. 개체가 포함된 변수를 입력하거나 개체를 가져오는 명령이나 식을 입력합니다.
에서 Measure-Object 매개변수를 사용할 때, 명령 결과를 Measure-Object으로 파이프하지 않고, InputObject 값이 단일 객체로 처리됩니다.
개체에 정의된 속성의 특정 값이 있는지 여부에 따라 개체 컬렉션을 측정하려는 경우 파이프라인에서 Measure-Object 사용하는 것이 좋습니다.
매개 변수 속성
| 형식: | PSObject |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | True |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-Line
cmdlet이 입력 개체의 줄 수를 계산한다는 것을 나타냅니다.
비고
매개 변수 속성
| 형식: | SwitchParameter |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
TextMeasure
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-Maximum
cmdlet에 지정된 속성의 최대값이 표시됨을 나타냅니다.
매개 변수 속성
| 형식: | SwitchParameter |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
GenericMeasure
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-Minimum
cmdlet에 지정된 속성의 최소값이 표시됨을 나타냅니다.
매개 변수 속성
| 형식: | SwitchParameter |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
GenericMeasure
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-Property
측정할 속성을 하나 이상 지정합니다. 다른 측정값을 지정하지 않으면 Measure-Object 지정한 속성이 있는 개체의 개수를 계산합니다.
Property 매개 변수의 값은 새 계산 속성일 수 있습니다. 계산된 속성은 스크립트 블록이어야 합니다. 보다 자세한 내용을 보려면 about_Calculated_Properties을 참조하십시오.
매개 변수 속성
| 형식: | |
| Default value: | None |
| 와일드카드 지원: | True |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | 0 |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-StandardDeviation
cmdlet에 지정된 속성 값의 표준 편차가 표시됨을 나타냅니다.
매개 변수 속성
| 형식: | SwitchParameter |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
GenericMeasure
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-Sum
cmdlet에 지정된 속성 값의 합계가 표시됨을 나타냅니다.
매개 변수 속성
| 형식: | SwitchParameter |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
GenericMeasure
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-Word
cmdlet이 입력 개체의 단어 수를 계산한다는 것을 나타냅니다.
비고
매개 변수 속성
| 형식: | SwitchParameter |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
TextMeasure
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
CommonParameters
이 cmdlet은 일반적인 매개 변수인 -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction 및 -WarningVariable 매개 변수를 지원합니다. 자세한 내용은 about_CommonParameters를 참조하세요.
입력
PSObject
개체를 이 cmdlet으로 파이핑할 수 있습니다.
출력
GenericMeasureInfo
기본적으로 이 cmdlet은 GenericMeasureInfo 개체를 반환합니다.
TextMeasureInfo
Word 매개 변수를 사용하는 경우 이 cmdlet은 TextMeasureInfo 개체를 반환합니다.
참고
PowerShell에는 Measure-Object에 대한 다음과 같은 별칭들이 포함되어 있습니다.
- 모든 플랫폼:
measure
PowerShell 7.3부터 Measure-ObjectStrictMode실행하지 않는 한 측정되는 속성이 없는 개체를 처리할 때 더 이상 오류를 반환하지 않습니다.
StrictMode에서 Measure-Object는 지정된 속성이 없는 개체를 처리할 때 System.Management.Automation.PSArgumentException를 반환합니다.