С большой помощью отсюда я скоро преобразовал все свои файлы jpg в gif (еще раз спасибо ALOT)
, но когда я осматривал свои файлы, я заметил, что в какую-то папку я добавил ноль к именам файлов.
Стандарт имени файла, который я пытаюсь использовать, это 001.gif, 002.gif .... но некоторые файлы имеют 01.gif, 02.gif и т. Д., И это не очень хорошо для меня.
Итак, с помощью кода я получил от convert, что нашел что-то, что называет глобус звездой. Я был готов посмотреть, смогу ли я это исправить самостоятельно:)
, но ничего не произошло, когда я запустил код. Прямо сейчас я просто пытаюсь посмотреть, смогу ли я конвертировать файл с JPG
for f in /lib/**/*jpg; do
if [ "${#f}" -eq 2 ]; then
mv "$f" "0$f"
fi
done
Существует много различных способов сделать это, но взятие Вашей попытки как начальная точка
for f in /lib/**/[0-9][0-9].jpg; do
b="${f##*/}"; d="${f%/*}";
echo mv "$f" "${d}/0${b}";
done
Таким образом, вместо того, чтобы соответствовать всем jpg
файлы и затем пытающийся протестировать, сколько цифр каждый имеет, просто соответствуйте тем точно двум ведущим цифрам. Удалите echo
после того как Вы удовлетворены, что это работает правильно.
Кроме того, Вы могли что-то вроде этого с основанным на Perl prename
команда:
prename -n 's/(\d+)\./sprintf("%03d.",$1)/e' /lib/**/*.jpg
Это берет любую непустую последовательность цифр прежде a .
и переиздает их дополненный нулем к минимальной ширине 3 цифр.