首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Powershell排序--按值末尾的数字排序

Powershell排序--按值末尾的数字排序
EN

Stack Overflow用户
提问于 2021-06-14 18:49:38
回答 2查看 125关注 0票数 0

我希望用数字对输出进行排序,并在每个输出的末尾加上数字。

Get-ADComputer -Filter * -SearchBase "OU=ComputerOU,DC=dc,DC=com" -Properties * | Select-Object -ExpandProperty Name

代码语言:javascript
复制
What i would like:
QCL-00010
JPL-00011
TUL-00012
TUL-00013
QCL-00014

What i have:
JPL-00011
QCL-00010
QCL-00014
TUL-00012
TUL-00013

提前谢谢你

EN

回答 2

Stack Overflow用户

发布于 2021-06-14 19:03:01

如果OU中的每一台计算机都与术语匹配,我将只使用Sort-Object和一些相当标准的文本处理的计算属性:

代码语言:javascript
复制
Get-ADComputer -Filter * -SearchBase "OU=ComputerOU,DC=dc,DC=com" |
Sort-Object -Property @{e={$_.Name.Substring($_.Name.IndexOf('-') + 1)}} | 
Select-Object -ExpandProperty Name

此外,除非您必须使用-Properties *命令,否则您应该避免使用Get-AD*命令。默认情况下返回Name

票数 0
EN

Stack Overflow用户

发布于 2021-06-14 19:04:45

有几种方法可以这样做,这在一定程度上取决于格式的静态程度。

代码语言:javascript
复制
$Names = @(
    'JPL-00011'
    'QCL-00010'
    'QCL-00014'
    'TUL-00012'
    'TUL-00013'
)

$Names | Sort-Object {[Void]($_ -match "(\d{5}$)"); $matches[1]}

在这里,我使用matches集合作为排序表达式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67975698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档