Задать вопрос
@SpeakLive91

Как переименовать названия картинок в правильной последовательности, начиная от 1-ы, в зависимости от даты создания оригинальной картинки?

Здравствуйте. Имеется на данном этапе следующий код:
#!/bin/sh
p=1;
j=0;
wget $(sed "s/;/\n/g" url.txt) -P $p;
for i in $p/*.jpg; do
    let j+=1;
    mv $i $p/$j.jpg ;
done
sleep 1
exit 1

Суть скрипта: берёт ссылки изображений в виде ссылка1.jpg;ссылка2.jpg из файла url.txt и перекачивает в директорию $p=1, которая создается в той папке, откуда запустили скрипт. После чего происходит переименование уже скаченных на сервер картинок по этому циклу:
for i in $p/*.jpg; do
    let j+=1;
    mv $i $p/$j.jpg ;
done

Происходит переименование файлов от 1 до n-кол-ва картинок.jpg и перемещается в директорию $p.
В папке 1/ находится список уже с готовыми фотками.
Теперь перейдём к моей проблеме. Дело в том, что когда картинки переименуются, то изменится их порядок относительно даты создания оригинала (не переименованных картинок). Мне нужно, чтобы он переименовывал картинки скрипт в таком же порядке, что в оригинале относительно даты создания файла. Как это сделать?
  • Вопрос задан
  • 172 просмотра
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Мне нужно, чтобы он переименовывал картинки скрипт в таком же порядке, что в оригинале относительно даты создания файла. Как это сделать?

Чтобы перенумеровать файлы в порядке возрастания времени их последней модификации:
ls -rt $p/*.jpg | while read i ; do
    let j+=1;
    mv "$i" "$p/$j.jpg" ;
done
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы