Как я могу обработать замену в пакетном режиме одна строка в начале имени файла со строкой от конца имени файла?

Я ищу команду, которую я могу использовать с терминалом Kubuntu (Konsole).

(Редактированием), которое я выяснил, как удалить бесполезные последние 13 символов в имени файла, поэтому чем будет сценарий то, если я захочу заменить "Караоке" именем художника в имени файла, является "Караоке" + пространство + "заголовок песни" + "-" + "имя художника" + .mp4?

Существует ли способ заменить слово "Karaoke" "именем художника" для всех файлов в каталоге?Заранее спасибо.

Вот имена файлов в качестве примера, которые запросил Oli:

Karaoke A Spoonful Of Sugar - Mary Poppins
Karaoke Ain't No Stoppin' Us Now - McFadden & Whitehead
Karaoke Ain't Nobody - Chaka Khan
Karaoke A Tisket, A Tasket - Ella Fitzgerald
3
задан 13 August 2014 в 01:13

2 ответа

Это - немногим более, чем вершина, но это работает здесь:

$ rename 's/^Karaoke (.+) - (.+) - \w{11}\.mp4$/$2 - $1.mp4/' * -vn
Karaoke banana - cher - 12345678901.mp4 renamed as cher - banana.mp4

необходимо будет стучать -n от конца, чтобы заставить его на самом деле переименовать файлы. Я оставил безопасность на.

, Что мы , выполнение здесь находит любые файлы, которые соответствуют этому шаблону, получая художника и дорожку из того шаблона и затем заменяя все это теми двумя группами (и некоторым форматированием и расширением).

я не могу предсказать то, что это сделало бы, если бы у Вас были художники с - на их имена. Вероятно, ничто хорошие, но единственные тире (без пробелов) не должно быть прекрасным.

3
ответ дан 18 November 2019 в 05:00

если все mp4, расширение использует, это

переименовывает "s/^Karaoke (. +) - (. +) $-\w {11} .mp4/\$2-\$1.mp4 /" *.mp4-n

, если у Вас нет пробелов прежде и после - символ, иначе используйте @oli пример

@terdon моя ошибка...

-1
ответ дан 18 November 2019 в 05:00

Другие вопросы по тегам:

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