curl
имеет -o
, --output
вариант , который принимает один аргумент , указывающий имя выходного файла должен быть записан вместо stdout
. Если вы используете {}
или []
для окружения элементов в URL (обычно используются для извлечения нескольких документов), вы можете использовать #
после числа в спецификаторе имени файла. Каждая такая переменная будет заменена соответствующей строкой для извлекаемого URL. Чтобы получить несколько файлов, добавьте разделенный запятыми список токенов внутри {}
. Если части URL-адресов, которые нужно получить, являются последовательными числами, вы можете указать диапазон с помощью []
.
Примеры:
curl http://www.abc.com/123/{def}/{ghi}/{jkl}.mno -o '#1_#2_#3.mno'
Обратите внимание на кавычки вокруг аргумента опции (не требуется, если имя файла не начинается с одной из расширенных переменных). Это должно привести к выходному файлу def_ghi_jkl.mno
.
curl http://www.abc.com/123/{def}/{ghi}/{jkl,pqr,stu}.mno -o '#1_#2_#3.mno'
Это должно привести к выходным файлам def_ghi_jkl.mno
, def_ghi_pqr.mno
и def_ghi_stu.mno
.
curl http://www.abc.com/123/{def}/{ghi}/[1-3].mno -o '#1_#2_#3.mno'
Это должно привести к выходным файлам def_ghi_1.mno
, def_ghi_2.mno
, def_ghi_3.mno
.
Вот какой-то трюк с заменой Баша
{$link:23: 23}
удалит « http://www.abc.com/123/ » это${parameter:offset:length}
, тоtr
будет заменить/
на_
.Так что теперь вы можете легко использовать с Wget или Curl
Также мы можем использовать awk, это извлечет последние три поля из входной строки:
источник
wget
Требуемое имя файла не может быть получено само по себе, поэтому его необходимо обработать с помощью сценария оболочки:Или, если вам нравится одна строка:
источник
Если вы предпочитаете завиток, самый прямой путь:
имя файла: имя загруженного файла
идентификатор файла: идентификатор файла в веб-представлении диска Google в формате https://drive.google.com/file/d/ идентификатор файла / представление
источник