Как переименовать несколько файлов с их первыми 10 символами?

У меня возникла проблема с переименованием нескольких файлов путем замены имени на первые 10 символов их старого имени. Я пытался найти решение в интернете, но я не нашел ответов.

Пример:

Исходные имена файлов:

1208605001abAcd.jpg 
1201230111FbcAdee.jpg 
11512345714x611aaa.jpg 

Чего я хочу достичь:

1208605001.jpg 
1201230111.jpg 
1151234571.jpg
7
задан 27 May 2016 в 10:55

4 ответа

Можно попробовать:

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 просто первая группа, сопровождаемая вторым.

16
ответ дан 27 May 2016 в 20:55

Если Вы используете zsh:

zmv '(*).(*)' '${1:0:10}.$2'

, Если это уже не сделано, Вам, возможно, понадобится к первому показу:

autoload zmv
2
ответ дан 27 May 2016 в 20:55

Если Вы хотите версию GUI, смотрите на pyRenamer, мощный переименовывающий объем инструмент.

Logo for pyRenamer

pyRenamer имеет два больших преимущества. Каждый - это, это позволяет Вам, делают, "что, если бы", другими словами, для наблюдения, что произошло бы перед согласием на изменение.

другое преимущество объяснено приятно в его описании:

можно переименовать файлы с помощью шаблонов, поиска и замены, замен, вставить или удалить текст или даже переименовать файлы вручную.

можно также переименовать изображения с помощью их тегов EXIF и музыки с помощью их внутренних тегов.

Для установки используйте Центр программного обеспечения Ubuntu или любимый установщик программного обеспечения, или используйте командную строку, дают следующую команду:

sudo apt install pyrenamer
0
ответ дан 27 May 2016 в 20:55

Можно сделать только с ударом:

for FILE in *.jpg ; do mv "${FILE}" "${FILE:0:10}.jpg" ; done

С небольшой работой можно получить расширение файла и добавить автоволшебно к новому имени.

3
ответ дан 27 May 2016 в 20:55

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

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