PowerShell:
Trabalhando com YAML
Como:
Por padrão, o PowerShell não vem com um cmdlet integrado para analisar YAML, mas funciona sem problemas com YAML quando você utiliza o módulo powershell-yaml
ou converte YAML em um objeto do PowerShell usando ConvertFrom-Json
em combinação com uma ferramenta como yq
.
Usando o Módulo powershell-yaml
:
Primeiro, instale o módulo:
Install-Module -Name powershell-yaml
Para ler um arquivo YAML:
Import-Module powershell-yaml
$content = Get-Content -Path 'config.yml' -Raw
$yamlObject = ConvertFrom-Yaml -Yaml $content
Write-Output $yamlObject
Para escrever um objeto do PowerShell em um arquivo YAML:
$myObject = @{
name = "John Doe"
age = 30
languages = @("PowerShell", "Python")
}
$yamlContent = ConvertTo-Yaml -Data $myObject
$yamlContent | Out-File -FilePath 'output.yml'
Exemplo de output.yml
:
name: John Doe
age: 30
languages:
- PowerShell
- Python
Analisando YAML com yq
e ConvertFrom-Json
:
Outra abordagem envolve usar yq
, um processador de YAML de linha de comando leve e portátil. yq
pode converter YAML em JSON, o qual o PowerShell pode analisar nativamente.
Primeiro, garanta que yq
esteja instalado em seu sistema.
Então execute:
$yamlToJson = yq e -o=json ./config.yml
$jsonObject = $yamlToJson | ConvertFrom-Json
Write-Output $jsonObject
Este método é particularmente útil para usuários que trabalham em ambientes multiplataforma ou preferem usar JSON dentro do PowerShell.