我正在使用PowerShell执行此任务,并希望将从第2列开始的任何列的值移动到它们自己的行。我有一个类似这样的CSV文件:
red,blue,yellow red red,blue
我想实现以下
red blue yellow red red blue
我不知道在任何给定的CSV文件中我可以拥有多少列,但最终结果是每行中的所有值都在它们自己的行上。
我在考虑将Import-Csv
cmdlet与Select-Object
一起使用,但无法弄清楚。
答案 0 :(得分:3)
使用您当前显示的示例数据,然后:
$out = New-Object System.Collections.Arraylist
Get-Content C:\Path\To\InputFile.txt | %{$out.AddRange(($_ -split ','))}
$out | Set-Content C:\Path\To\OutputFile.txt
我习惯性地将列表放在一起,因为我几乎总是计划以某种方式处理列表。在这种情况下,如果您只是想要一个新文件,则不需要该列表:
(Get-Content input.txt) -split ',' | Set-Content output.txt