cmd的Powershell命令不会替换换行符

时间:2017-01-16 10:26:44

标签: shell powershell cmd

我正在尝试替换包含文件中换行符的字符串。我正在使用命令行。

我试图在CMD shell和PowerShell中使用相同的命令,但是我似乎只能在后者中使用它。

这是命令:

powershell -Command "(Get-Content client.properties -Raw).Replace('#test`r`n','test`r`n') | Set-Content client2.properties"

为什么这不适用于CMD shell,如何使其工作?

1 个答案:

答案 0 :(得分:2)

`r`n转义序列在单引号内不起作用。

使用-replace运算符代替使用regex转义符:

powershell -Command "(Get-Content client.properties -Raw)-replace('#test\r?\n','test'+$([Environment]::NewLine)) | Set-Content client2.properties"