(у меня есть читать другие темы с похожими именами ...)
Я новичок в PowerShell.Я пытаюсь понять, как найти и заменить новые строки.Например, найдите двойные символы новой строки и замените их одинарными или наоборот.
У меня есть тестовый документ, созданный с помощью Блокнота:
The quick brown fox jumped over the lazy dog
The quick brown fox jumped over the lazy dog
The quick brown fox jumped over the lazy dog
The quick brown fox jumped over the lazy dog
Я работаю в PowerShell ISE длятестирование / обучение.
Когда я запускаю следующую команду (пытаюсь заменить одну новую строку двумя):
((Get-Content -path $filename -raw) -replace '`n','`n`n') | Set-Content -path $filename
Get-Content -path $filename -raw
Вывод остается неизменным.Поэтому я попробовал следующее, и оно осталось без изменений.
((Get-Content -path $filename -raw) -replace '`r`n','`r`n`r`n') | Set-Content -path $filename
Итак, зная, что PowerShell использует обратную галочку, а не обратную косую черту, но из-за разочарования я попробовал следующую команду:
((Get-Content -path $filename -raw) -replace '\n','\n\n') | Set-Content -path $filename
И, к удивлению (для меня), все символы новой строки были заменены, но строковым литералом '\ n \ n'.Таким образом, кажется, что поиск новой строки работает с обратной косой чертой, но не с обратной галочкой.Замена, к сожалению, была буквальной строкой, а не CRLF, который мне нужен.
Я в тупике.Но что бы это ни стоило, я также попробовал следующее, и строковый литерал снова использовался для замены (т. Е. Вместо новых строк в документе содержался '`r`n').
((Get-Content -path $filename -raw) -replace '\n','`r`n') | Set-Content -path $filename
Iвидел много сообщений, где люди по ошибке использовали обратную косую черту, но в моем случае кажется, что для поиска требуется обратная косая черта, и я не понимаю, что требуется для замены новой строки.
Спасибо!