powershell - 仅从 csv 文件中删除重复记录

标签 powershell powershell-3.0

我尝试用谷歌搜索不同的东西,但我似乎找不到答案。

CSV 内容

"ColumnOne","ColumnTwo","ColumnThree"
"C1V1","C2V1","C3V1"
"C1V2","C2V2","C3V2"
"C1V2","C2V2","C3V2"
"C1V3","C2V3","C3V3"

代码

$input = 'C:\Temp\test.csv'
$inputCsv = Import-Csv $input | Select-Object -Unique

$inputCsv | Export-Csv "$input-temp.csv" -NoTypeInformation
#Move-Item "$input-temp.csv" $input -Force

输出

"ColumnOne","ColumnTwo","ColumnThree"
"C1V2","C2V2","C3V2"

预期输出

"ColumnOne","ColumnTwo","ColumnThree"
"C1V1","C2V1","C3V1"
"C1V2","C2V2","C3V2"
"C1V3","C2V3","C3V3"

有办法吗?

最佳答案

您需要使用 Select-Object 或 Sort-Object 指定列名称以获得唯一结果。如果您也想排序,请尝试以下代码。如果您不想,请使用 Select-Object。

$input = 'C:\Temp\test.csv'
$inputCsv = Import-Csv $input | Sort-Object * -Unique

$inputCsv | Export-Csv "$input-temp.csv" -NoTypeInformation

您也可以引用博客HERE .

关于powershell - 仅从 csv 文件中删除重复记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36921523/

相关文章:

regex - 可选的正则表达式捕获组 - 我缺少什么?

powershell - 如何在Windows 8上安装最新的Powershell?

powershell - 使用 PowerShell 将 1 个文件与整个文件夹的文件进行比较

powershell - 使用 passthru 确保 cmdlet 完成

c# - 何时在 PowerShell 脚本中使用 C#对象

powershell - 如何以编程方式从 Azure AD 库添加应用程序

powershell - 有没有办法以仅在将参数传递给别名的情况下运行的方式为cmdlet创建别名?

.net - 从 powershell 脚本引用 .Net .dll

powershell - 从哈希表中删除重复值

powershell - 使用 invoke-restmethod 时设置主机头