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

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:
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:
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:
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:
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:
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 variable
OFS` 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.