在 Powershell 中将日志文件导出到新的 CSV 文件

Export Log file to new CSV file in Powershell

我觉得我的做法是错误的,但我已经走到一半了...我有一个名为 DataSet.log 的日志文件,其格式为:

First Dataset;24226382;2020-10-01 00:00;Second.Data.Set 1.0;0;Third.DataSet 1.0;2;Fourth.DataSet 1.0;0;Fifth.Dataset 1.0;0
First Dataset;24421469;2020-10-01 01:00;Second.Data.Set 1.0;0;Third.DataSet 1.0;4;Fourth.DataSet 1.0;0;Fifth.Dataset 1.0;0
First Dataset;24667838;2020-10-01 02:00;Second.Data.Set 1.0;0;Third.DataSet 1.0;6;Fourth.DataSet 1.0;0;Fifth.Dataset 1.0;0
First Dataset;24667839;2020-10-01 02:00;Second.Data.Set 1.0;0;Third.DataSet 1.0;1;Fourth.DataSet 1.0;0;Fifth.Dataset 1.0;0

我正在尝试将其转换为新的 CSV 文件并使其仅显示第三列和第七列。我已经让它在 PowerShell 中正确显示:

Import-Csv .\DataSet.log -Header A,B,C,D,E,F,G,H,I,J,K -Delimiter ';' | Format-Table C,G

我尝试将其导出为:

$testPush = Import-Csv .\DataSet.log -Header A,B,C,D,E,F,G,H,I,J,K -Delimiter ';' | Format-Table C,G

$testPush | Out-File .\test.csv

它确实创建了一个新的 csv 文件,但它只显示了 header 为“C G”的第三列。此外,header 在 A2 中,其中 A1 为空白,并且在第三列的日期时间填充其余行之前,A3 填充有“- -”...我到底做错了什么?

试试这个:

 $testPush = Import-Csv .\DataSet.log -Header A,B,C,D,E,F,G,H,I,J,K -Delimiter ';' | Select-Object C,G
 $testPush | Export-CSv -Path .\test.csv -NoTypeInformation