다음을 통해 공유


Measure-Object

개체의 숫자 속성과 텍스트 파일 등 문자열 개체의 문자, 단어 및 줄을 계산합니다.

Syntax

Measure-Object
       [[-Property] <PSPropertyExpression[]>]
       [-InputObject <PSObject>]
       [-StandardDeviation]
       [-Sum]
       [-AllStats]
       [-Average]
       [-Maximum]
       [-Minimum]
       [<CommonParameters>]
Measure-Object
       [[-Property] <PSPropertyExpression[]>]
       [-InputObject <PSObject>]
       [-Line]
       [-Word]
       [-Character]
       [-IgnoreWhiteSpace]
       [<CommonParameters>]

Description

cmdlet은 Measure-Object 특정 유형의 개체의 속성 값을 계산합니다. Measure-Object 는 명령의 매개 변수에 따라 세 가지 유형의 측정을 수행합니다.

cmdlet은 Measure-Object 개체의 속성 값에 대한 계산을 수행합니다. 지정된 속성으로 개체 수를 계산하거나 개체 수를 계산하는 데 사용할 Measure-Object 수 있습니다. 숫자 값의 최소값, 최대값, 합계, StandardDeviation평균을 계산하는 데 사용할 Measure-Object 수도 있습니다. String 개체의 경우 줄, 단어 및 문자 수를 계산하는 데 사용할 Measure-Object 수도 있습니다.

예제

예제 1: 디렉터리의 파일 및 폴더 수 계산

이 명령은 현재 디렉터리의 파일 및 폴더 수를 계산합니다.

Get-ChildItem | Measure-Object

예제 2: 디렉터리의 파일 측정

이 명령은 현재 디렉터리에 있는 모든 파일의 크기 및 디렉터리에 있는 파일의 평균 크기의 최소값, 최대값 및 합계를 표시합니다.

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 파일입니다. 표의 첫 번째 행은 EmpNo, Years머리글 행입니다.

파일을 가져오는 데 사용할 Import-Csv 경우 결과는 EmpNoYearsnote 속성이 있는 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 부터 AllStats 매개 변수 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-Object 부터 ScriptBlock 속성을 지원합니다. 다음 예제에서는 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-Object 부터 매개 변수를 -StandardDeviation 지원합니다. 다음 예제에서는 모든 프로세스에서 사용하는 CPU의 표준 편차 를 결정합니다. 편차가 크면 CPU를 가장 많이 사용하는 프로세스 수가 적습니다.

Get-Process | Measure-Object -Average -StandardDeviation CPU

Count             : 303
Average           : 163.032384488449
Sum               :
Maximum           :
Minimum           :
StandardDeviation : 859.444048419069
Property          : CPU

예제 12: wild카드s를 사용하여 측정

PowerShell 6 Measure-Object 부터 속성 이름에 wild카드s를 사용하여 개체 측정을 지원합니다. 다음 예제에서는 프로세스 집합 중 페이징된 메모리 사용량의 최대 유형을 결정합니다.

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에 지정된 속성의 모든 통계가 표시됨을 나타냅니다.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Average

cmdlet에 지정된 속성의 평균 값이 표시됨을 나타냅니다.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Character

cmdlet이 입력 개체의 문자 수를 계산한다는 것을 나타냅니다.

참고 항목

Word, Char 및 Line 스위치는 입력 개체뿐만 아니라 각 입력 개체 내에서도 계산됩니다. 예제 7을 참조하세요.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IgnoreWhiteSpace

cmdlet이 문자 수의 공백을 무시함을 나타냅니다. 기본적으로 공백은 무시되지 않습니다.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

측정할 개체를 지정합니다. 개체를 포함하는 변수를 입력하거나 개체를 가져오는 명령 또는 식을 입력하세요.

명령 결과를 Measure-Object파이핑하는 대신 InputObject 매개 변수를 Measure-Object사용하여 InputObject 값을 단일 개체로 처리합니다.

개체에 정의된 속성의 특정 값이 있는지 여부에 따라 개체 컬렉션을 측정하려는 경우 파이프라인에서 사용하는 Measure-Object 것이 좋습니다.

Type:PSObject
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Line

cmdlet이 입력 개체의 줄 수를 계산한다는 것을 나타냅니다.

참고 항목

Word, Char 및 Line 스위치는 입력 개체뿐만 아니라 각 입력 개체 내에서도 계산됩니다. 예제 7을 참조하세요.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Maximum

cmdlet에 지정된 속성의 최대값이 표시됨을 나타냅니다.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Minimum

cmdlet에 지정된 속성의 최소값이 표시됨을 나타냅니다.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Property

측정할 속성을 하나 이상 지정합니다. 다른 측정값 Measure-Object 을 지정하지 않으면 지정한 속성이 있는 개체의 개수를 계산합니다.

Property 매개 변수의 값은 새 계산 속성일 수 있습니다. 계산된 속성은 스크립트 블록이어야 합니다. 자세한 내용은 about_Calculated_Properties 참조하세요.

Type:PSPropertyExpression[]
Position:0
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-StandardDeviation

cmdlet에 지정된 속성 값의 표준 편차가 표시됨을 나타냅니다.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Sum

cmdlet에 지정된 속성 값의 합계가 표시됨을 나타냅니다.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Word

cmdlet이 입력 개체의 단어 수를 계산한다는 것을 나타냅니다.

참고 항목

Word, Char 및 Line 스위치는 입력 개체뿐만 아니라 각 입력 개체 내에서도 계산됩니다. 예제 7을 참조하세요.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

입력

PSObject

개체를 이 cmdlet으로 파이프할 수 있습니다.

출력

GenericMeasureInfo

기본적으로 이 cmdlet은 GenericMeasureInfo 개체를 반환합니다.

TextMeasureInfo

Word 매개 변수를 사용하는 경우 이 cmdlet은 TextMeasureInfo 개체를 반환합니다.

참고

PowerShell에는 다음 별칭이 포함됩니다.Measure-Object

  • 모든 플랫폼:
    • measure

PowerShell 7.3 Measure-Object 부터 StrictMode에서 실행하지 않는 한 측정되는 속성이 없는 개체를 처리할 때 더 이상 오류를 반환하지 않습니다. StrictModeSystem.Management.Automation.PSArgumentExceptionMeasure-Object 에서 지정된 속성이 없는 개체를 처리할 때 반환합니다.