@Senseich

Как загружать правильно через wget файлы, у которых названия одинаковые, но регистр разный?

Приветствую! Не могу разобраться с wget загрузкой, т.к. раньше такого не попадалось.

Есть файл список с сылками на фото, я заметил, что некоторые файлы с одинаковым названием, но отличается регистр одной буквой, например X6jIQ и X6jIq

И при загрузке wget не сохраняет эти файлы(один сохраняет, второй нет), вот что пишет:

--2024-10-12 01:51:10--  https://сайт/X6jIq.jpg
Connecting to сайт (сайт)|65.21.143.8|:443... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://сайт/X6jIq.jpg [following]
--2024-10-12 01:51:11--  https://сайт/X6jIq.jpg
Reusing existing connection to сайт:443.
HTTP request sent, awaiting response... 200 OK
Length: 117588 (115K) [image/jpeg]
Saving to: ‘X6jIq.jpg.1.tmp’

X6jIq.jpg.1.tmp            100%[=====================================>] 114.83K  --.-KB/s    in 0.04s

2024-10-12 01:51:11 (2.62 MB/s) - ‘X6jIq.jpg.1.tmp’ saved [117588/117588]

Removing X6jIq.jpg.1.tmp since it should be rejected.


Использую такую строку wget :
echo "список ссылок" | xargs -d \; -t wget --timeout=1 --tries=1 -nd -E -H -k -K -p -A jpg,jpeg,png,gif -e robots=off;


Если добавить в строку расширение tmp, то он так и сохраняет эти файлы - X6jIq.jpg.1.tmp

Как правильно прописать, чтобы сохраняло корректно?

  • Вопрос задан
  • 67 просмотров
Решения вопроса 1
@rPman
Полагаю используется windows?
wget пришел из мира *nix где файловая система где большие и маленькие буквы считаются разными, а в windows - одинаковыми, при попытке сохранить файл с отличающимся регистром в имени, он получает ошибку что файл существует. По уму wget в таком случае должен сохранить в файле с новым именем, добавив *.1 в конец, но похоже именно из-за того что формально имена разные, этого не происходит.

Решение, указать принудительно новое имя файла с помощью ключа -O имя_файла, к сожалению просто твою команду не исправить, но можно предварительно в скрипт добавить проверку наличия файла с таким именем и если существует, давать другую команду с -O
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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