Распаковать файл с URL на жесткий диск?

Как распаковать непосредственно от терминала, если у меня есть URL файла?

Например:

unzip www.test.com/test.zip destination-folder-on-my-pc
4
задан 29 July 2015 в 20:04

2 ответа

Если бы unzip придерживался бы каналы и фильтрует архитектурный стиль характеристика Unix, то можно было бы ожидать мочь сделать, это путем передачи по каналу вывода wget во вход разархивировало:

wget -O - http://www.test.com/test.zip | (cd destination-folder && unzip -)

, Где тире после -O стандартный вывод средств, тире после unzip вход стандарта средств и заключенная в скобки правая сторона запускают подоболочку в корректном каталоге.

Однако формат ZIP хранит свой индекс содержания в конце файла, и unzip потребности считать это, прежде чем он сможет начать распаковывать. Так, вопреки gzip и др., это не может распаковать поток в одной передаче.

Как обходное решение Вам нужен временный файл:

wget -O /tmp/z.$ http://www.test.com/test.zip && 
   (cd destination-folder && unzip /tmp/z.$)

, Где эти $ просто используются для генерации не сталкивающегося числа.

Вместо того, чтобы выполнить подоболочку, Вы могли использовать -d, опция разархивировала. И для добавленной гигиены, очистите свой временный файл:

wget -O /tmp/z.$ http://www.test.com/test.zip && 
   unzip -d destination-folder /tmp/z.$ &&
   rm /tmp/z.$
11
ответ дан 23 November 2019 в 11:35

Вам нужен больше чем один шаг:

  1. Входят в Вашу папку назначения

    cd destination
    
  2. Загрузка Извлечение файла

    wget www.test.com/test.zip
    
  3. , файл

    unzip test.zip
    
<час>

Для использования только одной команды использует сценарий:

#!/bin/bash
wget -P "/tmp" "$1"
filename=$(awk -F'/' {print $NF})
unzip "$filename" -d "$2"
rm "/tmp/$filename"
  • Открывают редактора, чтобы создать новый файл, названный unzip_by_url и поместить его или в ~/bin или /usr/bin/local

    nano unzip_by_url
    
  • И вставить код выше.

  • Сохраняют и закрываются, и

  • Делают исполняемый файл файла

    chmod +x /path/to/file/unzip_by_url
    
  • , Теперь запускают сценарий с:

    unzip_by_url www.test.com/test.zip destination-folder-on-my-pc
    
7
ответ дан 23 November 2019 в 11:35

Другие вопросы по тегам:

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