1
更換新行我有具有例如以下的CSV文件:如觀察在記事本++問題在PowerShell腳本
data1,data2,data3,data4,data5
,,,,,
data6,data7,data8,data9,data0
新線是CRLF(`r`n
)。
我有這個在我的PowerShell腳本與所有逗號刪除行:
(Get-Content $csvPath) | Foreach-Object {$_ -replace ",,,,,`r`n", ""} | Set-Content $csvPath2
該腳本將檢測不到回報。即使我刪除了逗號並且只有`r`n
。不過,我可以用`r`n
代替逗號而沒有問題。
如何刪除整行逗號使其如下所示?
data1,data2,data3,data4,data5
data6,data7,data8,data9,data0
人,不知道大部分是正確的。你原來的嘗試不工作的原因是,默認情況下,Get-Content返回一個字符串數組,分隔符是換行符。所以,當你將它傳遞給ForEach-Object時,沒有任何一行會在它中間出現換行符。或者,如果您確實想要使用-replace方法,請將-Raw參數添加到Get-Content cmdlet(或者,如果您使用的是PowerShell 2或更低版本,請使用-ReadCount 0)。 – KevinD
非常感謝你。 Knows的解決方案不是很成功。 @凱文感謝您的解釋。它爲什麼不起作用是有道理的。感謝您的協助! – Ben