добавление нуля в определенное место имен файлов

У меня есть каталог, состоящий из нескольких файлов. Имя файла выглядит следующим образом:

0102920.05o
0203920.05o
0304920.05o
....

Мне нужно добавить «0» для всех файлов после первых 4 чисел, как;

01020920.05o
02030920.05o
03040920.05o

Есть ли способ сделать это с помощью bash или perl?

4
задан 24 March 2016 в 20:23

2 ответа

Использование, которое Видит эта команда

rename -n -v 's/(.{4})(.*)/${1}0${2}/' *

, является ли результат тем, что Вы хотите, удалите -n и -v опции.

Объяснение:

принимают это простое управление:

rename 's/pattern/result/' filename(s)

Шаблон может быть regex. Так, мы можем принять другое участие текста (который является именем файла). Если Вы не понимаете это, Google для regex.

Так в команде я предлагаю в шаблоне, она делит имя файла на две части: первая часть, которая является первой четыре символа и вторая часть, является остальными.

Теперь в части результата, мы вставляем первую часть, добавляем один 0 и затем добавляем вторую часть. Настолько простой.

, Если можно сделать надлежащий regex, можно легко сделать, объем переименовывает.

5
ответ дан 25 March 2016 в 06:23
  • 1
    Я попробовал команду в аудио/внешнем окне программы экспорта, но файл doesn' t появляются. Я получаю вывод от libopus, I' ll отправляют вывод. – Sarah Szabo 3 July 2017 в 08:44

что-то как этот может добиться цели в ударе для всех файлов в текущем каталоге

for filename in *;do
    mv "$filename" "${filename:0:4}0${filename:5:11}"
done
3
ответ дан 25 March 2016 в 06:23
  • 1
    @SarahSzabo Ваша копия FFmpeg не имеет поддержки кодирования libopus, действительно ли это - версия репозитория для 17,04? Я проверю дважды, когда я возвращусь домой далеко от этого компьютера Windows... – andrew.46 3 July 2017 в 11:55

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

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