PowerShell 코드 출력에서 ​​공백을 어떻게 정렬하나요?

PowerShell 코드 출력에서 ​​공백을 어떻게 정렬하나요?

이것은 내 PowerShell 코드입니다.

$Phones = @('iPhone 12', 'Samsung S5', 'Nokia 7')
$Manufs = @('US', 'South Korea', 'Finlandia')
$n = 0
$Phones | foreach {
    "$($_) : $($Manufs[$n])"
    $n++
}

산출:

iPhone 12: US
Samsung S5: South Korea
Nokia 7: Finlandia

공간/탭을 정렬하는 방법은 다음 :과 같습니다.

iPhone 12  : US
Samsung S5 : South Korea
Nokia 7    : Finlandia

답변1

만약 너라면가장 긴 문자열의 길이를 얻으십시오그런 다음 형식화와 함께 문자열 보간을 사용할 수 있습니다(형식 연산자-f) 아마도 다음과 같을 것입니다.

$Phones = @('iPhone 12', 'Samsung S5', 'Nokia 7', 'Samsung Galaxy S II Epic 4G Touch')
$Manufs = @('US', 'South Korea', 'Finlandia', 'South Korea')
$maxLen = ($Phones | Measure-Object -Maximum -Property Length).Maximum
$formatString = "{0, -$maxLen} : {1}"
$n = 0
$Phones | foreach {
    $formatString -f $_, $Manufs[$n]
    $n++
}

얻으려면:

iPhone 12                         : US
Samsung S5                        : South Korea
Nokia 7                           : Finlandia
Samsung Galaxy S II Epic 4G Touch : South Korea

"열"에서 첫 번째 항목을 오른쪽 정렬하려면 다음을 사용할 수 있습니다.

$formatString = "{0, $maxLen} : {1}"

(그 항목에는 없음을 확인하세요 -) 다음을 얻으려면:

                        iPhone 12 : US
                       Samsung S5 : South Korea
                          Nokia 7 : Finlandia
Samsung Galaxy S II Epic 4G Touch : South Korea

관련 정보