Это моя проблема: у меня есть папка с 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
...
(они в правильном порядке, но это смешивает их)
Я знаю, что это, вероятно, одна команда, которую я пропускаю ...
command-line
rename
batch-rename
болеутоляющее
источник
источник
Ответы:
Попробуйте Thunar , который является файловым менеджером по умолчанию для Xfce. Это очень легкий и поставляется с удобным инструментом переименования. Вы можете установить Thunar, выполнив в терминале следующую команду:
Вы, вероятно, сможете установить и из Ubuntu Software.
Как пользоваться утилитой
Помимо нумерации эта утилита поддерживает следующие действия:
источник
pyrenamer
отлично работает, и это то, что я использую для переименования бункеров, когда я хочу, чтобы графический интерфейс сравнивался до / после вывода.find
Команда находит файлы в каталоге «» порядка (23.jpg
,66.jpg
, ...). Вы можете положить|sort
после найти.Но ваши методы слишком сложны.
источник
for i in {1..500}; do ...
было бы легче.С
rename
командой.Или в чистом виде
bash
и с использованием расширения параметров оболочки .источник
Если я правильно понял, что вы спрашиваете, думаю, вы можете сделать это, используя инструмент переименования по умолчанию:
Вы должны удалить
-vn
переключатель (многословно - без действий) после тестирования, чтобы изменения вступили в силу.источник
rename
связанprename(1)
сperl
пакетом, который не поддерживает все эти параметры командной строки.'s/^(\d+)/sprintf("%d",$1+500)/e'
. Я обновлю свой ответ соответственно. Спасибо.Еще один способ добиться этого с помощью просто команды оболочки
count = 1; для i in
ls
; do mv $ i CN $ ((count ++)). $ {i ## *.}; сделанныйисточник