【发布时间】:2017-10-17 11:18:20
【问题描述】:
考虑文件tbl.txt(150 万行),构建如下:
Num1 ; Num2 ; 'Value' ; 'Attribute'
所以tbl.txt 看起来像:
我怎样才能在'Value' 和'Attribute' 上保留第一条唯一行
并删除'Value' 和'Attribute' 上的以下重复行?
结果应该是这样的:
63; 193; '绿' ; '颜色' 152; 162; '高的' ; '尺寸' 230; 164; '130 磅' ; '重量' 420; 178; '8' ; '鞋号'非常感谢任何帮助。
【问题讨论】:
-
您尝试过什么,您尝试过什么失败了?理想情况下,您应该提供一个minimal reproducible example 来说明您的尝试,并包含有关它如何失败的具体信息,以及错误消息和/或错误输出。 SO 不是代码编写服务;最好的问题是那些提供有用信息的问题,以便回答的人可以指导您设计自己的正确答案。见How to Ask。
-
使用上面的搜索框并查看一些关于唯一值的现有问题,它们应该有助于为您指明正确的方向。喜欢这个:Powershell - filtering for unique values
-
最初我希望相应地修改
cat tbl.txt | Get-Unique,但没有找到解决方案。 @James 我还看不出如何将Foreach-Object { $_.Substring(0,2) } | Select-Object -unique变成合适的解决方案,因为线路的长度会有所不同。 -
如何修改
cat tbl.txt | Group { $_.Substring(10,15) } | select Name | sort-object -Property Name -Unique Select-Object -unique以便返回Group的Value? -
我会用分隔符和标题参数为您指明
Import-CSV的方向。
标签: regex powershell text-manipulation