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

时间:2012-04-21 14:24:02

标签: file sorting text powershell

我想在PowerShell中对文本文件进行排序。文本文件如下所示:

name1 4
name2 2.3
name3 6.7
name4 5.1

我想输出这样的文件:

name3 6.7
name4 5.1
name1 4
name2 2.3

正如您所看到的,它按照与名称相关联的数字进行降序排序。我该怎么做?

2 个答案:

答案 0 :(得分:6)

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

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

答案 1 :(得分:0)

另一种变体:

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