Удалите -n, если довольны результатом (режим пробного запуска).
Ответ или решение
Скрипт Bash для добавления двух ведущих нулей в имена файлов
В данной статье мы обсудим полезный скрипт на языке Bash, который позволит вам переименовать файлы, добавляя ведущие нули в числовые части их имен. Это может быть полезно в ситуациях, когда порядок сортировки файлов важен, и необходимо обеспечить единообразие в написании чисел.
Для достижения этой цели можно использовать следующий скрипт на Bash:
#!/bin/bash
# Проход по всем файлам с расширением .wav
for file in *.wav; do
# Извлекаем базовое имя файла без расширения
base="${file%.wav}"
# Используем регулярное выражение для поиска чисел и добавления ведущих нулей
new_name=$(echo "$base" | sed -E 's/_([0-9]+)/_$(printf "%02d" \1)/g; s/_([0-9]{2})$/_&/')
# Добавляем обратно расширение
new_name="$new_name.wav"
# Переименовываем файл
if [[ "$file" != "$new_name" ]]; then
mv "$file" "$new_name"
echo "Переименован: '$file' → '$new_name'"
fi
done
Пояснение скрипта
Цикл по файлам: Мы используем цикл for, чтобы пройтись по всем файлам с расширением .wav.
Извлечение базового имени: С помощью конструкции ${file%.wav} мы удаляем расширение, чтобы работать только с основным именем файла.
Регулярное выражение: Используем sed с флагом -E для обработки регулярных выражений. Мы ищем шаблон с числом, предваряемым символом подчеркивания _. При помощи printf "%02d" мы добавляем ведущие нули к числам, состоящим из одной цифры.
Проверка и переименование: Если имя нового файла отличается от исходного, файл переименовывается при помощи команды mv, и об этом выводится сообщение.
Запуск скрипта
Сохраните этот код в файл, например rename_files.sh.
Дайте файлу права на выполнение: chmod +x rename_files.sh.
Запустите скрипт в каталоге с вашими .wav файлами: ./rename_files.sh.
Заключение
Данный скрипт эффективно решает задачу добавления ведущих нулей к числам в именах файлов, что может быть полезно для поддержания порядка в директориях. Подобные решения зачастую позволяют избежать путаницы при работе с большим количеством файлов.
Если у вас есть вопросы или требуется дополнительная информация, не стесняйтесь обращаться!