PowerShell에서 줄을 나누는 방법은 무엇입니까?


82

나는 [ 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' 

답변:


134

"`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 2015


2

다른 사람이 이것을 발견 할 경우를 대비하여`n은 단일 틱 n이 아닌 억음 악센트 n입니다.


4
실제로 "강렬한 악센트"입니다. 물결표는 ~
elkirkmo

1
설명해 주셔서 감사합니다.
SQLMac

아니요, ǹ는 억음 악센트 n이고`n은 백틱 n입니다. 왜 다르게 생각하는지 잘 모르겠습니다. 내가 빠진 것이 있으면 참조를 게시하십시오.
Chris Broski

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새 줄을 만듭니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.