Wget с другим именем файла, но то же расширение

.* будет всегда соответствовать любому файлу, который был бы включен, поскольку Вы используете файлы от . (который даже отдельно соответствует .*).

Вы не должны делать ничего для исключения файлов, которые Вы упоминаете, они не будут подобраны шариком так или иначе. * шарик не соответствует снабженным префиксом точку файлам, если Вы вручную не добавляете такую функциональность (через dotglob, или эквивалент Вашей оболочки).

4
18.06.2013, 01:56
2 ответа

Я на самом деле придумал два вероятных способа сделать это:

a) Можно сохранить его к папке "fj39ejd", который похож:

downloads/fj39ejd/theFileNameThatWasBeing. Загруженный

или b) можно сделать a tmp папка, которая, в некоторое время цикле, проверила бы, содержит ли это файл, содержащий "fj39ejd" и затем explode это, получая расширение. Этот, однако, является немного дорогим, и соединение может испытать таймаут.

0
27.01.2020, 21:05

Если Вы хотите, чтобы локальный файл выбрал имя сервером, использовать wget --content-disposition --trust-server-names.

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

dir="$(TMPDIR=$PWD mktemp -d)"
(cd dir && wget --content-disposition --trust-server-names 'http://ge.tt/api/1/files/someFile/0/blob?download')
set "$dir/"*
mv "$1" "../fj39ejd.${1#$dir/*.}"
rmdir "$dir"
cd ..
0
27.01.2020, 21:05

Теги

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