Cómo añadir una nueva línea a la salida de comandos en PowerShell

  1. Uso de `N para agregar una nueva línea a la salida de comandos en PowerShell
  2. Uso de Output Field Separator OFS para agregar una nueva línea a la salida de comandos en PowerShell
  3. Uso de [Environment]::NewLine para agregar una nueva línea a la salida de comandos en PowerShell
  4. Uso de Out-String para agregar una nueva línea a la salida de comandos en PowerShell
  5. Conclusión
Cómo añadir una nueva línea a la salida de comandos en PowerShell

PowerShell incluye un conjunto de secuencias de caracteres especiales que pueden personalizar el contenido de salida. Las secuencias son comúnmente conocidas como secuencias de escape. Comienzan con el carácter de comilla invertida `` ` y son sensibles a mayúsculas y minúsculas.

Algunos ejemplos de secuencias de escape son `0, `a, `b, `e, `f`, `n, `r, etc. Las secuencias de escape solo se interpretan cuando están encerradas en comillas dobles " ".

En este artículo, exploramos diferentes técnicas para agregar una nueva línea a la salida de comandos en PowerShell. Cada una proporciona un enfoque único para lograr el formato de salida deseado, ofreciendo flexibilidad y control sobre la apariencia de las salidas de los scripts de PowerShell.

Uso de `N para agregar una nueva línea a la salida de comandos en PowerShell

La secuencia de escape ``n` se usa comúnmente en muchos lenguajes de programación, incluido PowerShell, para representar un carácter de nueva línea.

Cuando se encuentra ``n` dentro de una cadena, instruye al intérprete a mover el cursor al comienzo de la siguiente línea al mostrar el texto.

En PowerShell, la comilla invertida se utiliza como un carácter de escape para denotar caracteres especiales dentro de las cadenas.

Write-Host "This is line 1`nThis is line 2"

En este ejemplo, utilizamos el cmdlet Write-Host para imprimir dos líneas de texto. Al emplear la secuencia de escape ``n, creamos una nueva línea entre “This is line 1”y“This is line 2”`, logrando así una clara separación del contenido.

Salida:

agregar una nueva línea a la salida de comandos en powershell - salida 1

Puedes usar múltiples caracteres `n para agregar varias líneas.

Write-Host "This is line 1`nThis is line 2`n`n`This is line 3"

Comenzamos imprimiendo "This is line 1", seguido de un carácter de nueva línea usando la comilla invertida (``n), que instruye a PowerShell a moverse a la siguiente línea. Luego, imprimimos “This is line 2”` en una nueva línea usando nuevamente el carácter de nueva línea.

Después de eso, incluimos dos caracteres de nueva línea consecutivos (``n) usando comillas invertidas, creando una línea en blanco entre “This is line 2”y“This is line 3”. Finalmente, imprimimos “This is line 3”` en una nueva línea.

Salida:

agregar una nueva línea a la salida del comando en powershell - salida 2

Uso de Output Field Separator OFS para agregar una nueva línea a la salida de comandos en PowerShell

En PowerShell, el Separador de Campo de Salida (OFS) es una variable especial que determina cómo se separan los elementos en un arreglo cuando se convierten en una cadena. De forma predeterminada, PowerShell separa los elementos del arreglo con un espacio.

Sin embargo, puedes modificar el valor de la variable OFS para especificar un separador diferente, como un carácter de nueva línea, que está representado por la secuencia de escape ``n`.

Primero, debes definir un separador en la variable OFS.

$OFS = "`n`n"
$color = 'red', 'blue', 'green', 'yellow'
"$($color)"

En este ejemplo de código, primero configuramos la variable OFS en dos ``n, indicando que se debe usar un carácter de nueva línea para separar los elementos en la salida. Luego, definimos un arreglo llamado $color` que contiene cuatro cadenas de colores.

Cuando utilizamos la sintaxis de interpolación de cadenas "$($color)", PowerShell convierte implícitamente el arreglo a una cadena, separando cada elemento con el valor de OFS, resultando en que cada color se muestre en una doble nueva línea.

Salida:

agregar una nueva línea a la salida del comando en powershell - salida 3

Uso de [Environment]::NewLine para agregar una nueva línea a la salida de comandos en PowerShell

En PowerShell, el método [Environment]::NewLine es una forma conveniente de recuperar la secuencia de caracteres de nueva línea que es apropiada para el entorno del sistema operativo actual. Este método devuelve una cadena que contiene la secuencia de nueva línea (\n para sistemas basados en Unix y \r\n para sistemas basados en Windows).

Al utilizar este método, puedes asegurarte de que tu script de PowerShell produzca salidas con los caracteres de nueva línea correctos, haciéndolo independiente de la plataforma y compatible en diferentes entornos.

$color = 'red', 'blue', 'green', 'yellow'
$new = [Environment]::NewLine
$color | foreach { "$_$new" }

En este ejemplo de código, primero definimos un arreglo llamado $color que contiene cuatro cadenas de colores. Luego, usamos [Environment]::NewLine para recuperar la secuencia de caracteres de nueva línea y la almacenamos en la variable $new.

A continuación, pasamos el arreglo $color a Sort-Object para ordenar los colores alfabéticamente. Finalmente, iteramos sobre cada color ordenado usando foreach, concatenando cada color con el carácter de nueva línea almacenado en $new, resultando en una salida ordenada con cada color en una nueva línea.

Salida:

agregar una nueva línea a la salida del comando en powershell - salida 5

Uso de Out-String para agregar una nueva línea a la salida de comandos en PowerShell

En PowerShell, el cmdlet Out-String convierte los objetos de entrada en una cadena única, lo que puede ser útil para formatear la salida de comandos. De forma predeterminada, Out-String agrega un carácter de nueva línea (``n`) a cada objeto, permitiéndote agregar fácilmente nuevas líneas a la salida del comando.

Este método es particularmente útil cuando deseas asegurarte de que cada elemento en la salida se muestre en una línea separada, mejorando la legibilidad y organización.

$color = 'red', 'blue', 'green', 'yellow'
$color | Out-String

En este fragmento de código, primero definimos un arreglo llamado $color que contiene cuatro cadenas de colores. Luego, utilizamos el método [Environment]::NewLine para recuperar la secuencia de caracteres de nueva línea adecuada para el entorno actual y la almacenamos en la variable $new.

A continuación, iteramos sobre cada elemento en el arreglo $color utilizando el bucle foreach. Dentro del bucle, concatenamos cada cadena de color con el carácter de nueva línea almacenado en $new, asegurando que cada color se muestre en una nueva línea en la salida del comando.

Salida:

agregar una nueva línea a la salida del comando en powershell - salida 6

Conclusión

PowerShell proporciona varios métodos efectivos para agregar una nueva línea a la salida de comandos, mejorando la legibilidad y organización. Ya sea usando secuencias de escape como ``n, aprovechando el método [Environment]::NewLinepara caracteres de nueva línea independientes de la plataforma, o personalizando la variableOFS` para formateo de salida de arreglos, PowerShell ofrece soluciones versátiles para satisfacer diversas necesidades de scripting.

Al comprender e implementar estas técnicas, los autores de scripts de PowerShell pueden crear salidas más atractivas visualmente e informativas, mejorando la experiencia del usuario y la eficiencia de sus scripts.

¿Disfrutas de nuestros tutoriales? Suscríbete a DelftStack en YouTube para apoyarnos en la creación de más guías en vídeo de alta calidad. Suscríbete
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website