使用Windows Powershell从CSV中删除标头

时间:2014-07-09 11:15:05

标签: windows powershell csv header

我有一个CSV文件,有几千行,每59行都有我需要删除的标题,但我不确定如何做到这一点。从我所看到的Powershell工具是一个很好的选择,但我发现的命令似乎不起作用,因为Powershell不断吐出错误,指出'Grep'没有找到。

请问我能指点一下吗?

由于

1 个答案:

答案 0 :(得分:0)

这应该很简单。

Get-Content $File -ReadCount 59 | ForEach{$_|Select -Skip 1}

以59行为一组读取文件,并跳过每组中的第一个。然后将其传输到Out-File或将其分配给变量,或者您想要做的任何事情。

好的,如果标题行相同,您只需获取内容并过滤与第一行不匹配的行,然后按照您的说法重新添加标题。这将创建一个仅包含第一行的新文件,然后将原始文件复制到该文件中,过滤掉与新文件中第一行匹配的行。

$Header = Get-Content $File | Select -First 1
$Header | Out-File C:\NewFile.csv
Get-Content $file | Where{!($_ -Match $Header)}| Out-File C:\NewFile.Csv -append