2015-05-12 94 views
0

我有一個CSV文件,我試圖從CSV頂部刪除多餘的行(不知道它有多少行),然後在CSV中間的行中說出SourceIP,DestinationIP,等從CSV中刪除多餘行

enter image description here

我試過如下:

$m = gc D:\Script\textfile.txt 
Select-String D:\Script\my.csv -pattern $m -Match 

而且textfile.text已經

*.*.*.* 

但我得到的錯誤,

Select-String : A parameter cannot be found that matches parameter name 'Match'. 

我怎麼連匹配我想要的字符串(或不想),因爲我想要得到的CSV是

enter image description here

+2

如果您只是刪除前7行,請參閱http://stackoverflow.com/questions/2074271/remove-top-line-of-text-file-with-powershell。 –

+0

@TonyHinkle我不確定它是7行還是更多,因此我需要統一的方法 – Glowie

+2

這是非常重要的信息,您需要將其添加到問題中。 –

回答

3

使用Import-Csv的cmdlet:

Import-Csv YourFileLocation -Header SourceIP, DestinationIP, Application | 
    where {$_.SourceIP -match "^[0-9]+"} | Export-Csv OutputFile.csv 

它允許您設置自定義標題名稱,然後就可以通過做正則表達式搜索標題,並且僅採用以數字開頭的內容。如果完成了,您可以使用Export-Csv將其吐出。

+1

你用'^'來解決我要問的問題 – Matt