Як розбити лінії в PowerShell?


83

Я [ повністю новачок у PowerShell і ] об'єдную рядок у циклі, якщо виникає особлива умова, я повинен вставити розрив рядка ... як я можу це зробити?

В основному шукає еквівалент \n.

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

Поки що я пробував

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

Відповіді:


137

Спробуйте "`n"з подвійними лапками. ( не одинарні лапки '`n')

Повний список символів, що втекли, див.

Help about_Escape_character

Код повинен бути

$str += "`n"

Дякую, але не працює. це дає меніThe term ' ' is not recognized as the name of a cmdlet, function, sc....
user454322

1
Приклади в Help about_Escape_characterдопомогли мені з’ясувати проблему. Відповідь на редагування, щоб показати рішення
user454322

Отже, щоб розділити багаторядковий рядок, використовуйте$filestobackup = $files.split("`n");
bgStack15

9

Здається, знайшов. Все, що вам потрібно зробити, це набрати "` n "(З ЛЮКСАМИ!)

Дякую!


2

Про всяк випадок, коли хтось ще стикається з цим, для уточнення відповіді `n - це серйозний акцент n, а не одна галочка n


4
Це насправді "могильний акцент". Тильда - ~
elkirkmo

1
Дякую за роз'яснення.
SQLMac,

Ні, ǹ є серйозним акцентом n, а `n є зворотним позначенням n. Не впевнені, чому ви думаєте інакше. Будь ласка, опублікуйте посилання, якщо мені чогось не вистачає.
Кріс Броскі

1

Ви також можете просто використовувати:

Write-Host "";

Або, якщо висловити це з точки зору вашого конкретного питання:

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

0

Якщо втеча не працює, ви можете спробувати це:

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

Він просто нічого не додає, але як Out-String, що створює нову лінію.


0

Якщо ви використовуєте лише такий код, як показано нижче, ви повинні поставити лише серйозний акцент у кінці рядка `.

docker run -d --name rabbitmq `
           -р 5672: 5672 `
           -р 15672: 15672 `
           --restart = завжди `
           --ім'я хоста rabbitmq-master `
           -vc: \ docker \ rabbitmq \ data: / var / lib / rabbitmq `
           rabbitmq: остання версія
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.