Это - моя проблема: у Меня есть папка с 500 названными изображениями:
1.jpg
2.jpg
3.jpg
и так далее..
Я скопировал ту папку, и теперь я должен переименовать те те же изображения от 501 до 1 000, но в порядке как это:
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 до 1 000, но они все рассеиваются:
23.jpg becomes 501.jpg,
66.jpg becomes 502.jpg
...
(они находятся в правильном порядке, но он перепутывает их),
Я знаю, что это - вероятно, одна команда, которую я пропускаю...
Попробуйте Thunar, который является файловым менеджером по умолчанию для Xfce. Это очень легко и идет с удобным объемным инструментом переименования. Можно установить Thunar путем выполнения следующей команды в Терминале:
sudo apt-get install thunar
Вы, вероятно, сможете установить из программного обеспечения Ubuntu также.
Помимо Нумерации этой утилиты поддерживает следующие действия:
Эти 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
(подробный - никакое действие) переключатель после тестирования, для внесения изменения эффективным.
Другой способ достигнуть этого только с окружает команду
count=1; поскольку я в ls
; сделайте mv CN$ $i ((рассчитайте ++)). $ {i##*.};готово