Get-Unique 帮助信息

如下说明是翻译 PowerShell : help Get-Unique 产生的帮助信息 .
译者 : Edengundam( 马涛 )
 
Get-Unique
 
大纲
从排序的列表中返回唯一项 .
 
语法
Get-Unique [-inputObject <psobject>] [-asString] [<CommonParameters>]
 
Get-Unique [-inputObject <psobject>] [-onType] [<CommonParameters>]
 
详细描述
Get-Unique cmdlet 将排序过的列表中的项与下一项进行比较 , 消除重复的项 , 每一项只返回唯一的实例 . Cmdlet 要正常的工作 , 输入列表必须经过排序 .
 
参数
 
-inputObject <psobject>
Get-Unique 接受输入对象 . 输入一个包含对象的变量 , 或者一个能够产生对象的命令或表达式 .
 
Get-Unique 将通过 InputObject 输入的对象看做是一个集合 ; 此命令不会对集合中的独立的项进行枚举 . 因为集合是一个单独的项 , 通过 InputObject 提交的输入 , 总是保持原样输出 .
 
强制参数 ?
false
参数位置 ?
named
默认值
 
允许从管道绑定输入 ?
true ( 根据值 )
允许通配符扩展 ?
false
 
-asString <SwitchParameter>
将数据看做字符串 . 不使用此参数时 , 数据被看做对象 , 当提供给 Get-Unique 的集合中对象类型相同时 ( 例如 : 包含文件对象的集合 ), 此命令只返回一个对象 ( 第一个 ). 通过使用此参数你可以在对象属性中查找唯一值 , 例如文件对象的文件名称 .
 
强制参数 ?
false
参数位置 ?
named
默认值
 
允许从管道绑定输入 ?
false
允许通配符扩展 ?
false
 
-onType <SwitchParameter>
每一个类型只返回一个对象 .
 
强制参数 ?
false
参数位置 ?
named
默认值
 
允许从管道绑定输入 ?
false
允许通配符扩展 ?
false
 
< 公共参数 >
此命令支持公共参数 : -Verbose, -Debug, -ErrorAction, -ErrorVariable, and -OutVariable. 更多信息 , 输入 , "get-help about_commonparameters".
 
输入类型
Any
 
返回类型
Any
 
注意
 
更多信息 , 输入 "Get-Help Get-Unique -detailed". 需要技术信息 , 输入 "Get-Help Get-Unique -full".
 
对列表进行排序 , 使用 Sort-Object . 你也可以使用 Sort-Object Unique 参数在列表中查找唯一项 .
 
如果需要为该命令提供多个参数 , 请使用逗号进行分隔 . 例如 , "<parameter-name> <value1>, <value2>".
 
你可以使用 Get-Unique 内建别名 "gu". 需要更多信息 , 查看 About_Alias .
 
1
 
C:/PS>$a = $(foreach ($line in get-content C:/Test1/File1.txt) {$line.tolower().split(" ")}) | sort | get-unique
$a.count
 
这些命令可以找到文本文件中唯一单词的个数 .
 
第一个命令取得文件 File.txt 的内容 . 它将文本的每一行转换为小写形式 , 并将每个空格 (" ") 分隔的单词分割成独立的行 . 接下来 , 接下来按照字母序 ( 默认 ) 对结果排序 , 再使用 Get-Unique cmdlet 消除所有重复的单词 . 结果被存储在变量 $a .
 
第二个命令使用存储在 $a 中字符串集合上的属性 Count 来确定 $a 中包含的项数 .
 
2
 
C:/PS>1,1,1,1,12,23,4,5,4643,5,3,3,3,3,3,3,3 | sort-object | Get-Unique
 
此命令从整数集合中找出唯一的成员 . 第一个命令接受的命令行输入的整数类型数组 , 将它们通过管道发送给 Sort-Object cmdlet 进行排序 , 接下来将结果发送给 Get-Unique, 后者消除所有重复项 .
 
3
 
C:/PS>get-childitem | sort-object {$_.GetType()} |  unique -OnType
 
此命令使用 Get-ChildItem cmdlet 检索本地目录的内容 ( 包括文件和目录 ). 管道运算符 (|) 将结果发送给 Sort-Object cmdlet. 语句 "$_.GetType()" 执行每个文件或目录对象上 GetType 方法 . 接下来 , Sort-Object 根据类型进行排序 . 另一个管道将结果发送给 Get-Unique. 参数 OnType 指示 Get-Unique 每个类型只返回一个对象 .
 
4
 
C:/PS>get-process | sort-object | select processname | get-unique -asstring
 
此命令取得消除重复名称后计算机上运行的进程名称列表 .
 
Get-Process 取得计算机上所有的进程 . 管道运算符将结果传递给 Sort-object , 默认下后者按照字母顺序对进程对象的 ProcessName 属性进行排序 . 结果被发送到 Select-Object cmdlet, 后者将只返回每个对象的 ProcessName 属性 . 结果最后通过管道发送给 Get-Unique 消除重复项 .
 
参数 AsString 指示 Get-Unique ProcessName 的值当作字符串 . 当不指定此参数时 , Get-Unique ProcessName 的值当作对象 , 只会返回该对象的一个实例 , 在这里 , 就是第一个进程的名称 ( 译注 : 字符串类型 ).
 
相关链接
Select-Object
Sort-Object
 
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值