Извлечь несколько членов из архива tar и передать по сети

редактировать: я хочу дополнительно member01 а также member02 и каталог blah/

tarball_1.tar.gz содержит каталог test/ с 20 файлами. Я хочу извлечь только член test/member01 а также test/member02 и каталог blah/ и скопируйте их в другой "remote_host", используя ssh/scp.

Можно ли это сделать как однострочник? Я подумал об использовании tar, pax, или же cpio но я думаю, я еще не очень разбираюсь в этих утилитах.

1 ответ

Решение
tar -xzOf file.tar.gz file_you_want_to_extract | ssh user@host 'cat > /path/to/destination_file'
  • -x : Экстракт
  • -z : Через gzip
  • -f : Взять в качестве входного файла.
  • -O : Извлечь в стандартный вывод

file_you_want_to_extract извлекается из file.tar.gz на стандартный вывод, по трубопроводу ssh , который работает cat на удаленном хосте и записывает его стандарт в удаленный destination_file , Конечно, вы захотите убедиться, что у вас есть разрешение на запись в нужный файл назначения на удаленном хосте.

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