Я пытаюсь загрузить изображения с различными расширениями с bash
и wget
. Я должен настроить таргетинг на файлы напрямую, потому что у меня ошибка 403 в родительских папках, поэтому я не могу использовать опцию -A
, ориентируясь на родительскую папку.
На данный момент у меня есть следующий код, который отлично работает для .jgp
, но если следующий файл, например, .png
, например, мои разрывы цикла и переход к следующей папке, поэтому .png
в текущей папке не скачал.
for i in {1..945}; do
for j in {01..100}; do
j=`printf '%02d' $j`
ret=$(wget -O ch${i}-${j}.jpg https://www.domain.co/uploads/chapters/chapitre-${i}/${j}.jpg 2>&1)
if [[ "$ret" =~ 404\ Not\ Found ]]; then
break
fi
done
done
У меня проблемы с поиском способа загрузки файла независимо от его расширения.
EDIT:
Итак, вот мой последний фрагмент для тех, кто заинтересован.
Что он делает:
рекурсивный просмотр папки и ее содержимого
проверьте, является ли файл
.jpg
или
.png
, а затем переименуйте его соответствующим образом
возвращается к предыдущему циклу (родительской папке), если 404
удалить пустые файлы, созданные с помощью 404
for i in {245..945}; do
for j in {01..60}; do
j=`printf '%02d' $j`
ret=$(wget -O ch${i}-${j}.jpg https://www.yourdomain.co/uploads/parentfoldernumber-${i}/image-${j}.jpg 2>&1)
if [[ $? -ne 0 ]]; then
ret=$(wget -O ch${i}-${j}.png https://www.yourdomain.co/uploads/parentfoldernumber-${i}/image-${j}.png 2>&1)
fi
if [[ "$ret" =~ 404\ Not\ Found ]]; then
break
fi
done
find . -type f -empty -delete
done