我是PowerShell的新手,希望在文本文件中的某些场景中替换CRLF。PowerShell在某些场景中替换CRLF
为例文本文件将是:
Begin 1 2 3
End 1 2 3
List asd asd
Begin 1 2 3
End 1 2 3
Begin 1 2 3
End 1 2 3
Sometest asd asd
Begin 1 2 3
凡线不与开始或结束开始,我想该行追加到前一个。
所以期望的结果将是:
Begin 1 2 3
End 1 2 3 List asd asd
Begin 1 2 3
End 1 2 3
Begin 1 2 3
End 1 2 3 Sometest asd asd
Begin 1 2 3
该文件选项卡分隔。所以在开始和结束之后,是一个TAB。
我试过下面,只是为了摆脱所有的CRLF的,这不工作:
$content = Get-Content c:\test.txt
$content -replace "'r'n","" | Set-Content c:\test2.txt
我读过PowerShell中的MSDN,可以在不同线路上替换文本,只是没有结束多行这样的:(
我在对Windows 7的家庭测试,但这是工作,并会在Vista上。
我现在意识到,那获取内容读取文件中,在串线和删除CRLF? - 我可以这样使用:[System.IO.File] :: ReadAllText(“c:\ test.txt”) - 替换“'r'n [^ B |^E]”,“”| Set-Content c:\ test2.txt 但是这个删除了L和S,在List和Sometest上 – TomEaton
请注意'$ content'是一个数组。你可以通过尝试'$ content.GetType()' – David