Я бы - как я часто делаю - предложил perl
.
perl
имеет функцию sort, которая позволяет вам указать функцию сравнения. Эта функция сравнения - любой тест, который принимает два значения и возвращает -1
, 0
или 1
в зависимости от относительной позиции.
Он итерирует список, устанавливая каждое значение как $a
и $b
и "выполняя проверку" для каждого элемента.
То есть по умолчанию:
$a cmp $b
для строкового сравнения, или sort { $a <=> $b }
для числового.
Но в результате вы можете применять произвольно сложные пользовательские критерии сортировки:
#!/usr/bin/perl
use strict;
use warnings;
sub sort_by_sc {
my ( $a_sc ) = $a =~ m/SC(\d+)/;
my ( $b_sc ) = $b =~ m/SC(\d+)/;
return $a_sc <=> $b_sc;
}
my @file_list = qw (
ABC38388.SC01.StatueGrade_MKP
ABC38388.SC02.Statue_GKP
DEF38389.SC03.Statue_HKP
XYZ38390.SC00.Statue_WKP
);
print sort sort_by_sc @file_list;
Или сведенные к одной строке, читая STDIN
или файл (с разграничением строк, что обычно достаточно хорошо):
perl -e 'print sort {@x = map {/SC(\d+)/}($a,$b); $x[0] <=> $x[1]} <>'
Вы можете вместо этого скормить ему результат glob
шаблона каталога:
perl -e 'print sort {@x = map {/SC(\d+)/}($a,$b); $x[0] <=> $x[1]} glob ( "*SC*")'
Похоже, эта проблема была решена в системах на базе Ubuntu 20.04, таких как мой Linux Mint 20 (Cinnamon)(ссылка для скачивания и информации).
Мой seahorse
имеет версию 3.31.91
там, где уже отображаются клавиши ed25519
:
Отметим, что ранее я пытался вручную скомпилировать seahorse
в Linux Mint 19.x, и это также работало в графическом интерфейсе. Однако я им не пользовался, поэтому не могу подтвердить/опровергнуть, что такой подход действительно работает.
La solución para este problema se incluye en Gnome Keyring 3.28 y parece poco probable que se adapte a versiones anteriores. Si desea perseverar con Ed25519, deberá esperar el lanzamiento de su distribución favorita que incluya esta versión. Veo que la próxima versión de Linux Mint, Tara , estará basada en Ubuntu 18.04, que incluye esta versión , así que quizás no tengas que esperar demasiado.