¿Cómo romper líneas en PowerShell?


82

Soy [ completamente nuevo en PowerShell y ] estoy concatenando una cadena en un bucle, si ocurre una condición especial debo insertar un salto de línea ... ¿cómo puedo hacer esto?

Básicamente buscando el equivalente de \n.

$str = ""
foreach($line in $file){
  if($line -Match $review){ #Special condition
    $str += ANSWER #looking for ANSWER
  }
  #code.....
}

Hasta ahora lo he intentado

"\n" '\n' "\N" '\N' "\r" '\r' "\R" '\R' '`n' '`r' '-n' '-r' 

Respuestas:


134

Prueba "`n"con comillas dobles. ( no comillas simples '`n')

Para obtener una lista completa de los caracteres que se escapan, consulte:

Help about_Escape_character

El código debe ser

$str += "`n"

Gracias pero no funciona. me daThe term ' ' is not recognized as the name of a cmdlet, function, sc....
user454322

1
Los ejemplos en Help about_Escape_characterme ayudaron a resolver el problema. Editando respuesta para mostrar la solución
user454322

Entonces, para dividir una cadena de $filestobackup = $files.split("`n");
varias líneas

9

Creo que lo encontré. Todo lo que tienes que hacer es escribir "` n "(¡CON LAS COMITAS!)

¡Gracias!


2

En caso de que alguien más se encuentre con esto, para aclarar la respuesta `n es acento grave n, no una sola marca n


4
En realidad, es un "acento grave". Una tilde es ~
elkirkmo

1
Gracias por la aclaración.
SQLMac

No, ǹ es un acento grave ny `n es una tilde n. No estoy seguro de por qué piensa lo contrario. Por favor publique una referencia si me falta algo.
Chris Broski

1

También puede usar:

Write-Host "";

O, para ponerlo en términos de su pregunta específica:

$str = ""
foreach($line in $file){
  if($line -Match $review){ #Special condition
    $str += Write-Host ""
    $str += ANSWER #looking for ANSWER
  }
  #code.....
}

0

Si escapar no funciona, puede intentar esto:

$str += $("" | Out-String)

Simplemente no agrega nada, pero como Out-String, lo que crea una nueva línea.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.