0

下面是我的 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"  ""
4

1 回答 1

0

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

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

-join ((Get-Content data6.xml) -replace '<!\[CDATA\[|]]|(?<=>)\s+(?=<)') | Set-Content data6.xml
于 2012-06-18T17:44:14.337 回答