【问题标题】:foreach with two or more equal strings, how? [duplicate]foreach 有两个或更多相等的字符串,如何? [复制]
【发布时间】:2016-03-30 18:13:25
【问题描述】:

在我的打印服务器上使用测试脚本我得到了一些输出:

Name                                                                                                                        
----                                                                                                                        
dnj-500.1                                                                                                                   
dnj-500.1                                                                                                                   
dnj-4000.1                                                                                                                  
3015.6                                                                                                                      
3015.05 

我需要为此启动 foreach 或相同的进程,但在此之前我需要删除 dnj-500.1 字符串之一。我怎样才能通过powershell做到这一点?

【问题讨论】:

  • 所以你只是想删除重复的?

标签: powershell


【解决方案1】:

这两种方法都有效。请务必选择正确的列(名称):

(我使用 get-process 进行演示)

(get-process).count
133

(get-process | select name -Unique).count
106

(get-process | select name | Get-Unique -AsString).count
106

【讨论】:

  • 嗯,如果我有不止一列? Name, Smth1, Smth2 我需要杀死重复名称的字符串?
  • 将 smth1、smth2 等添加到 select 语句中。 select Name, Smth1, Smth2
【解决方案2】:

使用Sort-Object | Get-Unique -AsString解决了这个问题

| select -unique 只留下

Name                                                                                                                        
----                                                                                                                        
dnj-500.1    

有点奇怪,但Get-Unique 结果很好。

【讨论】:

  • 试试| select Name -unique。这应该只是删除重复的名称。
猜你喜欢
  • 1970-01-01
  • 2019-09-20
  • 2015-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多