Файлы порядка последним знаком имени файла в [закрытом] Powershell

То, куда Ваши помехи идут, зависит от того, если они инициализированы нулем или нет. инициализированный нулем статические данные входят .BSS (Блок, Запущенный Символом) , не инициализированный нулем , данные входят .DATA

9
задан Richard Garside 17 November 2012 в 15:08
поделиться

5 ответов

Вот моя запись:

ls | sort {"$_"[-1]}

и чтобы получить патологию:

ls|sort{"$_"[-1]}
8
ответ дан 4 December 2019 в 10:04
поделиться

К сожалению, в Powershell нет удобного простого обратного метода, поэтому вместо этого вам нужно получить последнюю букву строки и отсортировать по ней. Это один из способов, которым я это сделал:

dir| sort {$_.name.Substring($_.name.length-1)}

Как уже указывалось, это будет сортироваться строго только по последней букве, тогда как версия для Linux будет сортировать по последней, а затем последующим буквам, так что может быть лучше способ сделать это, или вам, возможно, придется ввести некоторый цикл, если вы этого хотите.

5
ответ дан 4 December 2019 в 10:04
поделиться

директ | сортировать {$ _. name [-1]}

4
ответ дан 4 December 2019 в 10:04
поделиться

Вариант Шэя намного короче принятого ответа за счет индексации в строке, но даже это можно улучшить. Вы можете сократить его еще больше, исключив ненужные пробелы и используя более короткий псевдоним:

ls|sort{$_.Name[-1]}

Также вы можете использовать (сокращенно) -Name аргумент для Get-ChildItem :

ls -n|sort{$_[-1]}

который вернет строки напрямую.

Если вы действительно хотите отсортировать по обратной строке, тогда работает (но медленно) следующее:

ls -n|sort{$_[3e3..0]}

Вы можете сделать это быстрее, если у вас есть верхняя граница от длины имени файла.

4
ответ дан 4 December 2019 в 10:04
поделиться
dir | sort -Property @{Expression ={$n = $_.Name.ToCharArray(); [Array]::Reverse($n);[String]::Join("",$n)}}

Не такой короткий, как версия unix, в основном потому, что в .NET Framework нет функции String.Reverse (). В основном это работает, сообщая sort «сортировать, вычисляя это выражение для входных аргументов».


Теперь, если какая-либо оболочка unix лучше, чем

dir | sort -Property Length -Descending

, напечатает сначала все файлы с самым большим размером, мне было бы интересно см.

0
ответ дан 4 December 2019 в 10:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: