如何在PowerShell中分组和选择唯一值?
我在SharePoint StackExchange上问了这个问题,但运气不好 我有一个CSV文件,其中有一列是SharePoint站点URL,其中许多是重复的如何在PowerShell中分组和选择唯一值?,powershell,sharepoint,Powershell,Sharepoint,我在SharePoint StackExchange上问了这个问题,但运气不好 我有一个CSV文件,其中有一列是SharePoint站点URL,其中许多是重复的 Column Title Site C URL Site A URL Site B URL Site C URL Site C URL Site A URL 如何检索行以使我只有唯一的站点: Site A URL Site B URL Site C URL 我试过: $CSVLocation = 'C:\data\data.c
Column Title
Site C URL
Site A URL
Site B URL
Site C URL
Site C URL
Site A URL
如何检索行以使我只有唯一的站点:
Site A URL
Site B URL
Site C URL
我试过:
$CSVLocation = 'C:\data\data.csv'
$siteURLs = Import-CSV -Path $CSVLocation
$siteURLs | Group-Object -Property 'Column Title' | Select-Object -Unique
你可以用几种方法来解决这个问题。一种简单的方法是使用
排序对象
,前提是您只有一列
$siteURLs | Sort-Object 'Column Title' -Unique
您还可以使用
组对象
<代码>组对象默认输出三个属性:计数
,名称
,组
。由于您是按列标题
分组的,因此这些值将显示在名称
下。因此,如果您只想查看该数据,则需要选择Name
$siteURLs | Group-Object -Property 'Column Title' | Select-Object Name
你可以用几种方法来解决这个问题。一种简单的方法是使用
排序对象
,前提是您只有一列
$siteURLs | Sort-Object 'Column Title' -Unique
您还可以使用
组对象
<代码>组对象默认输出三个属性:计数
,名称
,组
。由于您是按列标题
分组的,因此这些值将显示在名称
下。因此,如果您只想查看该数据,则需要选择Name
$siteURLs | Group-Object -Property 'Column Title' | Select-Object Name
组对象
默认输出三个属性:计数、名称、组。由于您是按“列标题”分组的,因此这些值将显示在Name
下。因此,如果您只想查看该数据,则需要选择Name
$siteURLs |组对象-属性“列标题”|选择对象名称
组对象
默认输出三个属性:计数、名称、组。由于您是按“列标题”分组的,因此这些值将显示在Name
下。因此,如果您只想查看该数据,则需要选择Name
$siteURLs |组对象-属性“列标题”|选择对象名称
谢谢,我仍然有点问题。在尝试了这两种方法之后,我得到了相同的结果:foreach($siteURLs中的site){Write Host$site}结果是:@{Column Title=}最终,我需要得到List-web$site。如果我问的不清楚,再次谢谢你。我得到的是:@{Column Title=intranet.xxx.com/sites/Ops/ss/KnowledgeLibrary}我想要的是URL。谢谢如果只需要该值,则可以使用$site.'Column Title'
。不应使用Write Host
输出具有属性的对象。它会像你看到的那样对对象和格式进行字符串化。谢谢。这很棘手。特别是写主机部分!谢谢你,我还有点问题。在尝试了这两种方法之后,我得到了相同的结果:foreach($siteURLs中的site){Write Host$site}结果是:@{Column Title=}最终,我需要得到List-web$site。如果我问的不清楚,再次谢谢你。我得到的是:@{Column Title=intranet.xxx.com/sites/Ops/ss/KnowledgeLibrary}我想要的是URL。谢谢如果只需要该值,则可以使用$site.'Column Title'
。不应使用Write Host
输出具有属性的对象。它会像你看到的那样对对象和格式进行字符串化。谢谢。这很棘手。特别是写主机部分!