Добавить foo к имени файла с помощью WGET или CURL или чего-то подобного?

#curl #download #wget

#завиток #Скачать #wget

Вопрос:

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

т. е. foo-serverfilename.ext

Я открыт для других инструментов на основе командной строки, таких как curl и т.д., Если они будут лучше, при условии, что они могут работать с использованием cookies.txt файл для сайта, защищенного паролем

Я уже несколько дней гуглю в поисках решения, но, похоже, ничего не могу придумать

Комментарии:

1. Разве вы не можете просто переименовать файлы?

2. Кроме того, «добавить префикс» не имеет смысла. «Добавить» означает «поместить в конец». Вы хотите добавить некоторый текст.

3. unix.stackexchange.com/questions/519887 /… для некоторых советов по автоматизации, хотя и излишне для вашего случая со «статическим префиксом».

4. я не хочу переименовывать их полностью, так как тогда я потеряю имя сервера. я хочу сохранить имя сервера с префиксом, и это будет использоваться для более чем 1000 файлов, поэтому переименование вручную тоже не работает.

5. Почему вы потеряли имя сервера? Переименование не обязательно должно включать в себя полную потерю первоначального имени. Вы можете написать скрипт в bash, чтобы добавить префикс ко всем именам файлов в каталоге примерно в три строки…

Ответ №1:

Ни в документации curl, ни в документации wget не указан подходящий вариант для этого (хотя curl имеет несколько более сложных флагов преобразования для некоторых ситуаций).

Вероятно, это потому, что в этом нет необходимости: вам просто нужен сценарий оболочки для переименования файлов, как только вы их получите:

 for filename in *; do mv "$filename" "foo-$filename"; done;
 

Я рекомендую загружать каждый пакет в изолированный пустой каталог, чтобы избежать случайного переименования несвязанных файлов; затем вы можете перемещать их куда угодно.

Комментарии:

1. Вроде как ближе, но мне все равно нужен способ использовать правильную дату с правильным файлом. Есть ли способ пакетной загрузки списка файлов через WGET или CURL, но указать уникальный путь для каждого? Пример ниже (даты — это имена каталогов) URL1 до 2020-01-01 URL2 до 2020-01-01 URL3 до 2019-10-12 URL4 до 2018-03-25

2. Это первый раз, когда вы упомянули что-либо о дате. Я не совсем понимаю ваш последующий вопрос. Можете ли вы более конкретно рассказать о проблеме?

3. Приношу свои извинения. Дата была «foo», которую я пытался добавить, и она менялась от файла к файлу. Извините за неясность. Тем не менее, ваши ответы подтолкнули меня в правильном направлении, и я вношу последние штрихи в рабочий сценарий. Я буду указывать путь для каждой загрузки, используя дату в качестве имени папки. Затем я сделаю 2-й шаг и использую инструмент переименования, чтобы добавить имя каталога ко всем файлам в каталоге. Еще раз спасибо. Я бы никогда не додумался до такого решения без вашей помощи!