скрипт curl для извлечения файлов tar - PullRequest
0 голосов
/ 08 ноября 2018

У меня есть скрипт curl, который я использую для чтения файлов из URL. Теперь мне нужно извлечь файлы tar после их загрузки.

for file in $(/usr/bin/curl 'https://linktofile.com/yourfile.txt' );
  do
    echo $file;
    /usr/bin/curl -L -J -O "$file";
done;

вывод на экран

curl: Saved to filename 'your_file_1.tar'

Как извлечь файл, который был сохранен? Я попытался добавить tar -xvf $file, но ничего не происходит. Как получить имя файла, который был только что сохранен?

1 Ответ

0 голосов
/ 08 ноября 2018

Использование -J делает расположение файла зависимым от заголовка Content-Disposition, поэтому вам нужно получить указанное имя файла. Вы можете сделать это, указав через -w вывод команды curl, для которой вы хотите вывести имя файла:

for url in $(/usr/bin/curl 'https://linktofile.com/yourfile.txt' ); do
    filename=$(/usr/bin/curl -sLJOw '%{filename_effective}' "$url")
    tar -xvf "$filename"
done
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...