PowerShell:
YAML로 작업하기

방법:

기본적으로 PowerShell은 YAML을 구문 분석하기 위한 내장된 cmdlet을 제공하지 않지만, powershell-yaml 모듈을 활용하거나 yq와 같은 도구와 함께 ConvertFrom-Json을 사용하여 YAML을 PowerShell 객체로 변환할 때 YAML과 원활하게 작동합니다.

powershell-yaml 모듈 사용하기:

먼저 모듈을 설치하세요:

Install-Module -Name powershell-yaml

YAML 파일을 읽으려면:

Import-Module powershell-yaml
$content = Get-Content -Path 'config.yml' -Raw
$yamlObject = ConvertFrom-Yaml -Yaml $content
Write-Output $yamlObject

PowerShell 객체를 YAML 파일로 쓰려면:

$myObject = @{
    name = "John Doe"
    age = 30
    languages = @("PowerShell", "Python")
}
$yamlContent = ConvertTo-Yaml -Data $myObject
$yamlContent | Out-File -FilePath 'output.yml'

output.yml 예시:

name: John Doe
age: 30
languages:
- PowerShell
- Python

yqConvertFrom-Json을 사용한 YAML 구문 분석:

다른 접근 방식은 yq, 경량이고 휴대 가능한 커맨드 라인 YAML 프로세서를 사용하는 것입니다. yq는 YAML을 JSON으로 변환할 수 있는데, 이는 PowerShell이 네이티브로 구문 분석할 수 있습니다.

먼저, 시스템에 yq가 설치되어 있는지 확인하세요. 그런 다음 실행하세요:

$yamlToJson = yq e -o=json ./config.yml
$jsonObject = $yamlToJson | ConvertFrom-Json
Write-Output $jsonObject

이 방법은 크로스 플랫폼 환경에서 작업하거나 PowerShell 내에서 JSON을 선호하는 사용자에게 특히 유용합니다.