PowerShell:
YAML を操作する
方法:
PowerShellは、デフォルトではYAMLを解析するための組み込みのcmdletを持っていませんが、powershell-yaml
モジュールを活用するか、ConvertFrom-Json
をyq
のようなツールと組み合わせて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
yq
とConvertFrom-Json
によるYAMLの解析:
別のアプローチは、yq
を使用することです。yq
は軽量でポータブルなコマンドラインYAMLプロセッサーで、YAMLをJSONに変換でき、PowerShellがネイティブに解析できます。
まず、システムにyq
がインストールされていることを確認してください。
その後、実行します:
$yamlToJson = yq e -o=json ./config.yml
$jsonObject = $yamlToJson | ConvertFrom-Json
Write-Output $jsonObject
この方法は、クロスプラットフォーム環境で作業するユーザーや、PowerShell内でJSONを好んで使用するユーザーに特に便利です。