如何删除powershell中的新行和制表符?

时间:2012-06-18 17:24:27

标签: xml powershell

下面是我的powershell代码,删除'data6.xml'的所有换行符和标签,但它根本不起作用!

function Replace-String($find, $replace)
{
   (Get-Content C:/Temp/data6.xml) | 
   Foreach-Object {$_ -replace $find, $replace} | 
   Set-Content C:/Temp/data6.xml    
}

# to remove the [CDATA] tag
Replace-String "\<!\[CDATA\[" "" 
Replace-String "\]\]\>"  ""
Replace-String "\n"  ""
Replace-String "`n"  ""
Replace-String "`t"  ""
Replace-String "\n"  ""

1 个答案:

答案 0 :(得分:0)

这是因为Get-Content为您提供了一系列行,其中每行自然没有换行符。

所以我想你想要的是以下内容:

-join ((Get-Content data6.xml) -replace '<!\[CDATA\[|]]|(?<=>)\s+(?=<)') | Set-Content data6.xml