在PowerShell脚本中替换新行的问题

时间:2013-11-22 19:55:53

标签: file powershell csv replace newline

我有一个CSV文件,例如:

data1,data2,data3,data4,data5
,,,,,
data6,data7,data8,data9,data0

新行是CRLF(`r`n),如Notepad ++中所示。

我在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

1 个答案:

答案 0 :(得分:3)

使用:

$lines = get-content C:\temp\test.txt | ?{$_ -notlike ",,,,*"}
$lines.count

此处文件test.txt包含:

data1,data2,data3,data4,data5
,,,,
data6,data7,data8,data9,data0

输出结果为:

data1,data2,data3,data4,data5
data6,data7,data8,data9,data0