Como Adicionar uma Nova Linha à Saída de Comando no PowerShell
-
Use
`Npara Adicionar uma Nova Linha à Saída de Comando no PowerShell -
Usando o Separaor de Campo de Saída
OFSpara Adicionar uma Nova Linha à Saída de Comando no PowerShell -
Usando
[Environment]::NewLinepara Adicionar uma Nova Linha à Saída de Comando no PowerShell -
Usando
Out-Stringpara Adicionar uma Nova Linha à Saída de Comando no PowerShell - Conclusão
O PowerShell inclui um conjunto de sequências de caracteres especiais que podem personalizar o conteúdo da saída. As sequências são comumente conhecidas como sequências de escape. Elas começam com o caractere de aspas simples ` e são sensíveis a maiúsculas e minúsculas.
Alguns exemplos de sequências de escape são `0, `a, `b, `e, `f`, `n, `r, etc. As Sequências de Escape só são interpretadas quando estão entre aspas duplas " ".
Neste artigo, exploramos diferentes técnicas para adicionar uma nova linha à saída de comandos no PowerShell. Cada uma proporciona uma abordagem única para alcançar o formato de saída desejado, oferecendo flexibilidade e controle sobre a aparência das saídas dos scripts do PowerShell.
Use `N para Adicionar uma Nova Linha à Saída de Comando no PowerShell
A sequência de escape ``n` é comumente usada em muitas linguagens de programação, incluindo PowerShell, para representar um caractere de nova linha.
Quando ``n` é encontrado dentro de uma string, ele instrui o interpretador a mover o cursor para o início da próxima linha ao exibir o texto.
No PowerShell, o acento grave é usado como um caractere de escape para denotar caracteres especiais dentro de strings.
Write-Host "This is line 1`nThis is line 2"
Neste exemplo, utilizamos o cmdlet Write-Host para exibir duas linhas de texto. Ao empregar a sequência de escape n, criamos uma nova linha entre "This is line 1" e "This is line 2", conseguindo assim uma separação clara de conteúdo.
Saída:

Você pode usar vários caracteres `n para adicionar múltiplas linhas.
Write-Host "This is line 1`nThis is line 2`n`n`This is line 3"
Começamos exibindo "This is line 1", seguido por um caractere de nova linha usando o acento grave (``n), que instrui o PowerShell a mover para a próxima linha. Em seguida, exibimos “This is line 2”` em uma nova linha usando novamente o caractere de nova linha.
Depois disso, incluímos dois caracteres de nova linha consecutivos (``n) usando acentos graves, criando uma linha em branco entre “This is line 2”e“This is line 3”. Finalmente, exibimos “This is line 3”` em uma nova linha.
Saída:

Usando o Separaor de Campo de Saída OFS para Adicionar uma Nova Linha à Saída de Comando no PowerShell
No PowerShell, o Separador de Campo de Saída (OFS) é uma variável especial que determina como os elementos em um array são separados quando são convertidos para uma string. Por padrão, o PowerShell separa os elementos do array com um espaço.
No entanto, você pode modificar o valor da variável OFS para especificar um separador diferente, como um caractere de nova linha, que é representado pela sequência de escape n.
Primeiro, você deve definir um separador na variável OFS.
$OFS = "`n`n"
$color = 'red', 'blue', 'green', 'yellow'
"$($color)"
Neste exemplo de código, primeiro configuramos a variável OFS para dois ``n, indicando que um caractere de nova linha deve ser usado para separar os elementos na saída. Em seguida, definimos um array chamado $color` contendo quatro strings de cores.
Quando usamos a sintaxe de interpolação de strings "$($color)", o PowerShell converte implicitamente o array em uma string, separando cada elemento com o valor OFS, resultando na exibição de cada cor em uma dupla nova linha.
Saída:

Usando [Environment]::NewLine para Adicionar uma Nova Linha à Saída de Comando no PowerShell
No PowerShell, o método [Environment]::NewLine é uma maneira conveniente de recuperar a sequência de caracteres de nova linha que é apropriada para o ambiente do sistema operacional atual. Este método retorna uma string contendo a sequência de nova linha (\n para sistemas baseados em Unix e \r\n para sistemas baseados em Windows).
Ao utilizar este método, você pode garantir que seu script do PowerShell produza saídas com os caracteres de nova linha corretos, tornando-o independente de plataforma e compatível entre diferentes ambientes.
$color = 'red', 'blue', 'green', 'yellow'
$new = [Environment]::NewLine
$color | foreach { "$_$new" }
Neste exemplo de código, primeiro definimos um array chamado $color contendo quatro strings de cores. Em seguida, usamos [Environment]::NewLine para recuperar a sequência de caracteres de nova linha e armazená-la na variável $new.
Em seguida, enviamos o array $color para Sort-Object para classificar as cores alfabeticamente. Por fim, iteramos sobre cada cor classificada usando foreach, concatenando cada cor com o caractere de nova linha armazenado em $new, resultando em uma saída classificada com cada cor em uma nova linha.
Saída:

Usando Out-String para Adicionar uma Nova Linha à Saída de Comando no PowerShell
No PowerShell, o cmdlet Out-String converte os objetos de entrada em uma única string, o que pode ser útil para formatar a saída do comando. Por padrão, o Out-String anexa um caractere de nova linha (n) a cada objeto, permitindo que você facilmente adicione novas linhas à saída do comando.
Este método é particularmente útil quando você deseja garantir que cada item na saída seja exibido em uma linha separada, melhorando a legibilidade e a organização.
$color = 'red', 'blue', 'green', 'yellow'
$color | Out-String
Neste trecho de código, primeiro definimos um array chamado $color contendo quatro strings de cores. Em seguida, usamos o método [Environment]::NewLine para recuperar a sequência de caracteres de nova linha apropriada para o ambiente atual e armazená-la na variável $new.
Depois, iteramos sobre cada elemento no array $color usando o loop foreach. Dentro do loop, concatenamos cada string de cor com o caractere de nova linha armazenado em $new, garantindo que cada cor seja exibida em uma nova linha na saída do comando.
Saída:

Conclusão
O PowerShell fornece vários métodos eficazes para adicionar uma nova linha à saída de comando, melhorando a legibilidade e a organização. Seja usando sequências de escape como n, aproveitando o método [Environment]::NewLine para caracteres de nova linha independentes de plataforma, ou personalizando a variável OFS para formatação de saída de array, o PowerShell oferece soluções versáteis para atender a várias necessidades de script.
Ao entender e implementar essas técnicas, os autores de scripts do PowerShell podem criar saídas mais visualmente atraentes e informativas, melhorando a experiência do usuário e a eficiência de seus scripts.
