Jak łamać linie w PowerShell?


83

Jestem [ zupełnie nowy w PowerShell i ] łączę ciąg w pętli, jeśli wystąpi specjalny warunek, powinienem wstawić podział wiersza ... jak mogę to zrobić?

Zasadniczo szukam odpowiednika \n.

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

Jak dotąd próbowałem

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

Odpowiedzi:


137

Spróbuj "`n"z podwójnymi cudzysłowami. ( nie pojedyncze cudzysłowy '`n')

Aby uzyskać pełną listę znaków ucieczki, zobacz:

Help about_Escape_character

Kod powinien być

$str += "`n"

Dzięki, ale nie działa. to daje miThe term ' ' is not recognized as the name of a cmdlet, function, sc....
user454322

1
Przykłady zawarte w Help about_Escape_characterartykule pomogły mi w rozwiązaniu problemu. Edytujesz odpowiedź, aby pokazać rozwiązanie
użytkownik454322

Aby podzielić ciąg wielowierszowy, użyj$filestobackup = $files.split("`n");
bgStack15


2

Na wypadek, gdyby ktoś inny się z tym spotkał, dla wyjaśnienia odpowiedzi `n to poważny akcent n, a nie pojedynczy tik n


4
Właściwie to „poważny akcent”.
Tylda

1
Dziękuję za wyjaśnienie.
SQLMac

Nie, ǹ to poważny akcent n, a `n to lewy klawisz n. Nie wiem, dlaczego myślisz inaczej. Jeśli czegoś brakuje, podaj referencje.
Chris Broski,

1

Możesz też po prostu użyć:

Write-Host "";

Lub, ujmując to w odniesieniu do konkretnego pytania:

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

0

Jeśli ucieczka nie działa, możesz spróbować tego:

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

Po prostu nic nie dodaje, ale jako Out-String, co tworzy nową linię.


0

Jeśli używasz właśnie takiego kodu, jak ten poniżej, musisz umieścić tylko słaby akcent na końcu wiersza `.

docker run -d --name rabbitmq `
           -p 5672: 5672 ”
           -p 15672: 15672 ''
           --restart = zawsze `
           --hostname rabbitmq-master `
           -vc: \ docker \ rabbitmq \ data: / var / lib / rabbitmq `
           rabbitmq: najnowsze
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.