У меня возникла проблема с переименованием нескольких файлов путем замены имени на первые 10 символов их старого имени. Я пытался найти решение в интернете, но я не нашел ответов.
Пример:
Исходные имена файлов:
1208605001abAcd.jpg
1201230111FbcAdee.jpg
11512345714x611aaa.jpg
Чего я хочу достичь:
1208605001.jpg
1201230111.jpg
1151234571.jpg
Можно попробовать:
rename -n 's/(.{10}).*(\.jpg)$/$1$2/' *.jpg
Пример:
$ rename -n 's/(.{10}).*(\.jpg)$/$1$2/' *.jpg
11512345714x611aaa.jpg -> 1151234571.jpg
1201230111FbcAdee.jpg -> 1201230111.jpg
1208605001abAcd.jpg -> 1208605001.jpg
-n
опция только моделирует команду, так, чтобы можно было проверить изменения. Выполненный без него для фактического внесения изменений.
regex (.{10}).*(\.jpg)
состоит:
.{10}
- любые 10 символов, в группе (…)
, сопровождаемый.*
- любое количество любых символов, сопровождаемых\.jpg$
- расширение в конце ($
) из имени файла, во второй группеЗамена $1$2
просто первая группа, сопровождаемая вторым.
Если Вы используете zsh
:
zmv '(*).(*)' '${1:0:10}.$2'
, Если это уже не сделано, Вам, возможно, понадобится к первому показу:
autoload zmv
Если Вы хотите версию GUI, смотрите на pyRenamer, мощный переименовывающий объем инструмент.
pyRenamer имеет два больших преимущества. Каждый - это, это позволяет Вам, делают, "что, если бы", другими словами, для наблюдения, что произошло бы перед согласием на изменение.
другое преимущество объяснено приятно в его описании:
можно переименовать файлы с помощью шаблонов, поиска и замены, замен, вставить или удалить текст или даже переименовать файлы вручную.
можно также переименовать изображения с помощью их тегов EXIF и музыки с помощью их внутренних тегов.
Для установки используйте Центр программного обеспечения Ubuntu или любимый установщик программного обеспечения, или используйте командную строку, дают следующую команду:
sudo apt install pyrenamer
Можно сделать только с ударом:
for FILE in *.jpg ; do mv "${FILE}" "${FILE:0:10}.jpg" ; done
С небольшой работой можно получить расширение файла и добавить автоволшебно к новому имени.