csv中的powershell增量行

时间:2017-07-12 14:11:33

标签: powershell

我有一个像这样的csv日志文件: enter image description here

我想添加如下的增量行编号: enter image description here

任何人都可以建议通过PowerShell执行此操作的最简单方法,以便每次生成文件时,它都会自动插入名为LINENUMBER的列并插入增量编号吗?

所有人都非常感谢。

1 个答案:

答案 0 :(得分:2)

你可以这样做:

Import-CSV SomeFile.csv | Select *,LINENUMBER | ForEach-Object -Begin { $Line = 1 } { 
    $_.LineNumber = $Line++
    $_ 
} | Export-CSV SomeFile.csv
  • 使用Import-CSV将CSV文件作为PowerShell对象加载,然后Select-Object返回其所有属性,并添加名为&#39; LINENUMBER&#39; <的其他属性/ LI>
  • 遍历CSV的每一行,使用名为$Line的计数器变量递增新的LINENUMBER属性(在迭代之前将其设置为1)。
  • 将结果导出为CSV覆盖原始文件(或者您可以将其重定向到新文件名)。

请注意,新列将是最后一列。您可以将Select部分更改为Select LINENUMBER,*,将其设为第一列。如果你希望它位于中间某个稍微复杂的位置(可能需要事先了解输入文件的标题)。