我想在PowerShell中对文本文件进行排序。文本文件如下所示:
name1 4
name2 2.3
name3 6.7
name4 5.1
我想输出这样的文件:
name3 6.7
name4 5.1
name1 4
name2 2.3
正如您所看到的,它按照与名称相关联的数字进行降序排序。我该怎么做?
答案 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