Это моя проблема: у меня есть папка с 500 изображениями с именем:
1.jpg
2.jpg
3.jpg
и т. д.
Я скопировал эту папку, и теперь мне нужно переименовать эти одинаковые изображения с 501 до 1000, но в порядке:
1.jpg becomes 501.jpg
2.jpg becomes 502.jpg
3.jpg becomes 503.jpg
....
Когда я использую свою стандартную команду переименования:
i=501;for img in $(find . -iname '*.jpg'); do echo -n "Converting $img"; mv $img $i.jpg && echo $i && ((i++)); done
Он заказывает изображения с 501 до 1000, но они все они разбросаны:
23.jpg becomes 501.jpg,
66.jpg becomes 502.jpg
...
(они находятся в правильном порядке, но они смешивают их)
Я знаю, что это, вероятно, одна команда, которую мне не хватает ...
Попробуйте Thunar, который является файловым менеджером по умолчанию для Xfce. Он очень легкий и поставляется с удобным инструментом переименования. Вы можете установить Thunar, выполнив следующую команду в Terminal:
sudo apt-get install thunar
Вы, вероятно, сможете установить и из Ubuntu Software.
Помимо нумерации этой утилиты поддерживаются следующие действия:
Вставить дату / время Вставить / перезаписать Удалить символы Поиск и amp; Заменить верхний / нижний регистрПопробуйте Thunar, который является файловым менеджером по умолчанию для Xfce. Он очень легкий и поставляется с удобным инструментом переименования. Вы можете установить Thunar, выполнив следующую команду в Terminal:
sudo apt-get install thunar
Вы, вероятно, сможете установить и из Ubuntu Software.
Помимо нумерации этой утилиты поддерживаются следующие действия:
Вставить дату / время Вставить / перезаписать Удалить символы Поиск и amp; Заменить верхний / нижний регистрПопробуйте Thunar, который является файловым менеджером по умолчанию для Xfce. Он очень легкий и поставляется с удобным инструментом переименования. Вы можете установить Thunar, выполнив следующую команду в Terminal:
sudo apt-get install thunar
Вы, вероятно, сможете установить и из Ubuntu Software.
Помимо нумерации этой утилиты поддерживаются следующие действия:
Вставить дату / время Вставить / перезаписать Удалить символы Поиск и amp; Заменить верхний / нижний регистрКоманда find находит файлы в порядке «каталог» (23.jpg, 66.jpg, ...). вы можете поместить |sort после поиска.
Но ваши методы перекомплексированы.
for i in $( seq 1 500 ) ; do
j=$(( $i + 500 ))
mv $i.jpg $j.jpg
done
С командой rename.
rename -n 's/^(\d+)/sprintf("%d",$1+500)/e' *.jpg
Или в чистом bash и использовании расширения параметра оболочки.
for FILE in *.jpg; do
mv "$FILE" "$(( ${FILE%.jpg}+500 )).jpg"
done
Если я понял, что вы спрашиваете правильно, я думаю, вы можете сделать это, используя инструмент переименования по умолчанию:
rename 's/^(\d+)/sprintf("%d",$1+500)/e' *.jpg -vn
Вы должны удалить переключатель -vn (verbose - no action) после тестирования, чтобы сделать изменение эффективным.
Другой способ достижения этой цели с помощью команды shell
count = 1, для i в ls; do mv $ i CN $ ((count ++)). $ {i ## *.}; сделано
Другой способ достижения этой цели с помощью команды shell
count = 1, для i в ls; do mv $ i CN $ ((count ++)). $ {i ## *.}; сделано
Если я понял, что вы спрашиваете правильно, я думаю, вы можете сделать это, используя инструмент переименования по умолчанию:
rename 's/^(\d+)/sprintf("%d",$1+500)/e' *.jpg -vn
Вы должны удалить переключатель -vn (verbose - no action) после тестирования, чтобы сделать изменение эффективным.
С командой rename.
rename -n 's/^(\d+)/sprintf("%d",$1+500)/e' *.jpg
Или в чистом bash и использовании расширения параметра оболочки.
for FILE in *.jpg; do
mv "$FILE" "$(( ${FILE%.jpg}+500 )).jpg"
done
Другой способ достижения этой цели с помощью команды shell
count = 1, для i в ls; do mv $ i CN $ ((count ++)). $ {i ## *.}; сделано
Команда find находит файлы в порядке «каталог» (23.jpg, 66.jpg, ...). вы можете поместить |sort после поиска.
Но ваши методы перекомплексированы.
for i in $( seq 1 500 ) ; do
j=$(( $i + 500 ))
mv $i.jpg $j.jpg
done
С командой rename.
rename -n 's/^(\d+)/sprintf("%d",$1+500)/e' *.jpg
Или в чистом bash и использовании расширения параметра оболочки.
for FILE in *.jpg; do
mv "$FILE" "$(( ${FILE%.jpg}+500 )).jpg"
done