Powershell 挑战

Ric*_*ard 7 powershell

一位朋友要求我执行以下操作:

“找到按文件名的最后一个字符对目录列表进行排序的最快和最简单的方法。”

他使用以下方法在 Linux 上完成了这项工作:

ls | rev | sort | rev 
Run Code Online (Sandbox Code Playgroud)

我想向他展示 powershell 替代方案,但我才刚刚开始学习 powershell,我做不到。所以,我在作弊并寻求你的帮助。

小智 9

你可以试试这个:

dir| sort {$_.name[-1]}
Run Code Online (Sandbox Code Playgroud)


Sam*_*gan 3

不幸的是,Powershell 没有一个很好的简单反向方法,因此您必须获取字符串的最后一个字母并按其排序。这是我这样做的一种方法:

dir| sort {$_.name.Substring($_.name.length-1)}
Run Code Online (Sandbox Code Playgroud)

正如已经指出的,这将严格仅按最后一个字母排序,而 Linux 版本将按最后一个字母然后随后的字母排序,因此可能有更好的方法来执行此操作,或者您可能必须引入一些循环如果你想要那样的话。