我正在尝试替换包含文件中换行符的字符串。我正在使用命令行。
我试图在CMD shell和PowerShell中使用相同的命令,但是我似乎只能在后者中使用它。
这是命令:
powershell -Command "(Get-Content client.properties -Raw).Replace('#test`r`n','test`r`n') | Set-Content client2.properties"
为什么这不适用于CMD shell,如何使其工作?
答案 0 :(得分:2)
`r`n
转义序列在单引号内不起作用。
使用-replace
运算符代替使用regex转义符:
powershell -Command "(Get-Content client.properties -Raw)-replace('#test\r?\n','test'+$([Environment]::NewLine)) | Set-Content client2.properties"