pyRenamer имеет графический интерфейс и позволяет выполнять автоматический предварительный просмотр.
Поместите это в поле Исходный шаблон имени файла:
{#}.{#}.{#} {X}.mp3
И это в шаблон имени переименованного файла:
{4} {3}-{1}-{2}.mp3
Единственным недостатком является сортировка в режиме "Windows" (1, 10, 11, 2, 3, 4... ).
Вы собираетесь выполнять сортировку по столбцу 7 в числовом виде.
Это можно сделать с помощью
$ sort -n -k 7 file
id - 884209, researchers - 1
id - 904091, researchers - 1
id - 905525, researchers - 1
id - 916197, researchers - 1
id - 896781, researchers - 4
id - 908660, researchers - 5
id - 908876, researchers - 7
id - 910480, researchers - 10
id - 901026, researchers - 15
или с
$ sort -k 7n file
id - 884209, researchers - 1
id - 904091, researchers - 1
id - 905525, researchers - 1
id - 916197, researchers - 1
id - 896781, researchers - 4
id - 908660, researchers - 5
id - 908876, researchers - 7
id - 910480, researchers - 10
id - 901026, researchers - 15
Они эквивалентны.
Опция -n
задает числовую сортировку (в отличие от лексикографической сортировки ). Во втором примере выше n
добавляется в качестве спецификатора/модификатора конкретно к 7-му столбцу.
Спецификация столбца ключа сортировки, -k 7
, заставит sort
сортировать строки в столбце 7 и далее (строку от столбца 7 до конца ). В этом случае, поскольку столбец 7 является последним, имеется в виду только этот столбец. Если бы это имело значение, вы могли бы использовать -k 7,7
вместо ("от столбца 7 до 7" ).
Если два ключа при сравнении равны, sort
будет использовать полную строку в качестве ключа сортировки, поэтому мы получили результат, который мы получили для первых четырех строк в вашем примере. Если бы вы хотели выполнить вторичную сортировку по второму столбцу, вы бы использовали sort -n -k 7,7 -k 2,2
или sort -k 7,7n -k 2,2n
(, указав тип сравнения отдельно для каждого столбца ). Опять же, если 7-й и 2-й столбцы сравнивают одно и то же между двумя строками, sort
использовал бы лексикографическое сравнение полных строк.
Для численной сортировки по позиции 29 символа, которая соответствует первой цифре числовых значений в конце каждой строки в ваших примерных данных:
$ sort -k 1.29n file
id - 884209, researchers - 1
id - 904091, researchers - 1
id - 905525, researchers - 1
id - 916197, researchers - 1
id - 896781, researchers - 4
id - 908660, researchers - 5
id - 908876, researchers - 7
id - 910480, researchers - 10
id - 901026, researchers - 15
-k 1.29n
означает «сортировать по ключу, заданному 29-м символом 1-го поля(и далее, до конца строки ), численно».
-k 7,7n
, использованное в тексте выше, просто эквивалентно -k 7.1,7.1n
.
Для сортировки по позиции 28 нам нужно использовать разделитель NUL:
sort -t '\0' -k 1.28 file
id - 884209, researchers - 1
id - 904091, researchers - 1
id - 905525, researchers - 1
id - 916197, researchers - 1
id - 910480, researchers - 10
id - 901026, researchers - 15
id - 896781, researchers - 4
id - 908660, researchers - 5
id - 908876, researchers - 7