tar 아카이브에서 몇 명의 멤버를 추출하고 네트워크를 통해 파이프 나는 추가로

편집 : 나는 추가로 원하는 member01member02및 디렉토리blah/

tarball_1.tar.gztest/20 개의 파일 이있는 디렉토리 를 포함 합니다. 멤버 test/member01test/member02디렉토리 만 추출 하고 blah/ssh / scp를 사용하여 다른 “remote_host”에 복사하고 싶습니다 .

이것을 한 줄짜리로 할 수 있습니까? 내가 사용으로 간주 tar, pax또는 cpio하지만 난 아주 아직 이러한 유틸리티와 숙련되지 것 같아.



답변

tar -xzOf file.tar.gz file_you_want_to_extract | ssh user@host 'cat > /path/to/destination_file'
  • -x : 추출
  • -z : 통해 gzip
  • -f : 파일을 입력으로 가져옵니다.
  • -O : stdout으로 추출

file_you_want_to_extract추출되는 file.tar.gz표준 출력으로 파이프를 ssh실행하는 cat원격 호스트와 원격에 표준을 쓴다 destination_file. 물론 원격 호스트의 원하는 대상 파일에 대한 쓰기 권한이 있는지 확인해야합니다.


답변