powershell - 如何在 PowerShell 中按列排序?

标签 powershell cmd powershell-2.0

如何在 PowerShell 中按第 3 列对文本文件进行排序? 这是文件的一部分:

    reza             zabihi          12     1
    maryam           joraee          17     2
    leyla            ahmadi          13     2
    farzin           farahbakhsh     16     1
    keyvan           maleki          8      1
    kaveh            ahangar         18     1
    nooshafarin      bakhtiari       13     2
    roya             afrashteh       13     2
    asghar           nazemi          18     1
    jaleh            nooruzi         16     2
    ali              samadi          6      1
    mohsen           adibi           3      1
    firooz           karimi          7      1
    mostafa          rostamian       18     1
    jafar            omidi           6      1
    shima            zagrosi         12     2
    somayyeh         modaberi        16     2
    shahram          zamani          16     1
    sayeh            rahmati         3      2
    shirin           rahjoo          12     2

I tried

Get-Content namef | Sort-Object { [double]$_.Split()[-2] } -Descending

最佳答案

你已经差不多了。您的代码无法按预期方式工作的原因是 Split() 方法在 each 空格处拆分字符串,因此您会得到很多空列。您真正想要的是在连续 空格处拆分。要执行后者,请使用 -split 运算符:

Get-Content namef | Sort-Object { [double]($_ -split '\s+')[-2] } -Descending

关于powershell - 如何在 PowerShell 中按列排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48292081/

相关文章:

powershell - 使用start子命令为循环改进批处理文件

mysql - 当我在 Windows 命令行中使用显示数据库时,无法访问我的 mysql 数据库

windows - Powershell - 找不到 Windows.Clipboard

c# - powerShell.AddCommand 的使用

regex - 如何用命令行替换文本文件中的每个前缀?

powershell - 使用 powershell 检索用户配置文件的大小

java - 使用java将输出写入命令提示符

c# - 在 Web 应用程序中托管 PowerShell 运行空间

powershell - 实现 PowerShell PSProvider *in* PowerShell

提示用户的 Powershell 脚本