Чтение фрагментов удаленного файла без передачи всего файла? - PullRequest
1 голос
/ 06 февраля 2009

Возможно ли с помощью какой-либо утилиты Unix читать фрагменты удаленного файла (как, скажем, 'head') вместо передачи всего файла?

Ответы [ 3 ]

3 голосов
/ 06 февраля 2009

Вы можете выполнять удаленные команды через SSH

ssh user@server.com "head <filename>"
1 голос
/ 06 февраля 2009

Если вы понимаете Python, библиотека paramiko должна сделать это достаточно просто. Это чистая реализация Python протокола ssh, и, в частности, sftp должен позволить вам получить часть файла, которая вам нужна.

Подробнее см. http://www.lag.net/paramiko/.

1 голос
/ 06 февраля 2009
  1. Вы можете удаленно извлекать интересные часть файла (используя dd для пример), а затем передать интересный кусок обратно.
  2. Другой вариант будет использовать Netcat:

    dd if=file skip=... bs=... count=...| nc <host> <port>
    

    А на приемнике:

    nc -l -p <port> | dd of=chunk
    
  3. Вы можете использовать curl с следующие параметры (при условии, что у вас есть HTTP или FTP, который поддерживает поиск):

    • -r для получения диапазона байтов
    • -C для начала загрузки с заданного смещения

Конечно, есть и другие возможности, кроме упомянутых. Дополнительная информация о вашем случае может помочь разработать более разумный метод.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...