Извлечь несколько членов из архива 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
, Конечно, вы захотите убедиться, что у вас есть разрешение на запись в нужный файл назначения на удаленном хосте.