PowerShell:如何按列对文本文件进行排序?

5
我希望在PowerShell中对文本文件进行排序。文本文件的格式如下所示:
name1 4
name2 2.3
name3 6.7
name4 5.1

我想以这种方式输出该文件:
name3 6.7
name4 5.1
name1 4
name2 2.3

正如您所看到的,它是按与名称相关联的数字降序排序的。我该怎么做?
2个回答

8

您可以按表达式排序,将每行拆分(空格分隔符),将最后一项转换为system.double并对其进行排序:

Get-Content .\file.txt | Sort-Object { [double]$_.split()[-1] } -Descending

0

另一种变体:

gc c:\f1.txt | add-member scriptproperty sortby {$this.split()[-1]} {[double]$this} -pass | sort sortby -desc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接