.*
будет всегда соответствовать любому файлу, который был бы включен, поскольку Вы используете файлы от .
(который даже отдельно соответствует .*
).
Вы не должны делать ничего для исключения файлов, которые Вы упоминаете, они не будут подобраны шариком так или иначе. *
шарик не соответствует снабженным префиксом точку файлам, если Вы вручную не добавляете такую функциональность (через dotglob
, или эквивалент Вашей оболочки).
Я на самом деле придумал два вероятных способа сделать это:
a) Можно сохранить его к папке "fj39ejd", который похож:
downloads/fj39ejd/theFileNameThatWasBeing. Загруженный
или b) можно сделать a tmp
папка, которая, в некоторое время цикле, проверила бы, содержит ли это файл, содержащий "fj39ejd" и затем explode
это, получая расширение. Этот, однако, является немного дорогим, и соединение может испытать таймаут.
Если Вы хотите, чтобы локальный файл выбрал имя сервером, использовать 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 ..