Я скачал это аниме Наруто на свой компьютер. Они названы как
NARUTO 50 — The Fifth Gate- A Splendid Ninja is Born_low.mp4
Я хочу просто переименовать их в что-то вроде этого Naruto_50
.
Есть ли простой способ сделать это? Мне удобно пользоваться терминалом.
pyRenamer от из репозиториев Ubuntu по умолчанию является графическим renamer приложением, которое поддерживает файлы переименования с помощью шаблонов, включая выражения шаблона, которые встроены в pyRenamer. Переместите мышь через Исходный шаблон имени файла и Переименованный шаблон имени файла поля для показа списка выражений шаблона, которые доступны для того поля. Нажмите кнопка Preview для предварительного просмотра изменений прежде, чем применить их. Нажмите кнопка Rename для переименования файлов. Это - самый легкий способ обработать в пакетном режиме, переименовывают ряд видеофайлов.
pyRenamer является доступным fromo репозитории Ubuntu по умолчанию в Ubuntu 16.04 и ранее. В Ubuntu 18.04 и позже pyRenamer был заменен GPRename.
Для Вашего примера Вы соответствовали бы числам видео в ряду и .mp4
расширение в конце имен файлов и затем заменили бы Naruto_
в начале имен файлов в Переименованный шаблон имени файла поле.
Вы могли также использовать находящееся в perl rename
команда: что-то как
rename -- 's/(\w+)\s+(\w+).*/$1_$2.mp4/' *.mp4
который берет первые два "слова" (последовательности словесных символов, разделенных пробелом), отбрасывает остаток от имени и затем производит слова, разделенные подчеркиванием, сопровождаемым .mp4
точечное расширение.
Если Вы хотите к случаю заголовка первое слово, как обозначено в Вашем вопросе, Вы могли бы сделать то использование \u
и \L
модификаторы
rename -- 's/(\w+)\s+(\w+).*/\u\L$1_$2.mp4/' *.mp4
Тестирование использования -n
(нет) и -v
(подробные) переключатели с Вашим демонстрационным именем файла
$ rename -nv -- 's/(\w+)\s+(\w+).*/\u\L$1_$2.mp4/' *.mp4
NARUTO 50 — The Fifth Gate- A Splendid Ninja is Born_low.mp4 renamed as Naruto_50.mp4
Вы могли стать более необычными - например, то, чтобы заставлять это обработать точечные суффиксы в более общем плане вместо того, чтобы предположить, что они - все .mp4
- можно найти это Учебное руководство Regex полезным.
Существует простое, хотя утомительный, путь, если Вы хотите придерживаться оболочки. Можно использовать bash
расширение параметра.
Модификация длины строки:
${PARAMETER:OFFSET}
: расширьтесь от СМЕЩЕНИЯ положения.
${PARAMETER:OFFSET:LENGTH}
: расширьтесь от СМЕЩЕНИЯ положения до конечной ДЛИНЫ.
Например:
$ test="This is a long string"
$ echo $test
This is a long string.
$ echo ${test:0:4}
This
Модификация корпуса:
${PARAMETER^}
: первый символьный верхний регистр.
${PARAMETER^^}
: весь верхний регистр.
${PARAMETER,}
: первый нижний регистр.
${PARAMETER,,}
: весь нижний регистр.
$ test="This Is A Long String"
$ echo ${test,}
this Is A Long String.
$ echo ${test,,}
this is a long string.
Удаление подстроки:
${PARAMETER#PATTERN}
: удалите ШАБЛОН, как bash
понимает, с начала строки. Попытки найти самое короткое соответствие.
${PARAMETER##PATTERN}
: то же, но самое долгое соответствие.
${PARAMETER%PATTERN}, ${PARAMETER%%PATTERN}
: от окончания строки.
Например:
$ test="This is a long, long string."
$ echo ${test#*long}
, long string.
$ echo ${test##*long}
string.
$ echo ${test%long*}
This is a long,
Поиск и замена:
${PARAMETER/PATTERN/STRING}
: замените первое вхождение ШАБЛОНА со СТРОКОЙ.
${PARAMETER//PATTERN/STRING}
: замените все случаи.
${PARAMETER/PATTERN}
: удалите первое вхождение.
${PARAMETER//PATTERN}
: удалите все.
$ test="This is a long, long string."
$ echo ${test/long/big}
This is a big, long string.
$ echo ${test//long/big}
This is a big, big string.
$ echo ${test//long}
This is a , string.
Так, Вы могли сделать простое for
цикл и прогрессивно вносит изменения. Например:
#!/bin/bash
for i in *; do
ext="${i##*.}" # get extension
name="${i%% --*}" # get original name
lname="${name,,}" # lowercase
nsname="${lname// /_}" # all spaces to underscore
mv "$i" "$nsname.$ext"
done
Я рекомендую Вам Thunar
это идет Thunar Bulk Rename
Откройте терминал
Для установки его запишите и выполните команду:
sudo apt install --no-install-recommends thunar
В Вашем случае это могло быть путем (Это находится на испанском языке),