web-dev-qa-db-ja.com

tarアーカイブからいくつかのメンバーを抽出し、ネットワークを介してパイプします

編集:追加したいmember01およびmember02およびディレクトリblah/

tarball_1.tar.gzにはディレクトリが含まれていますtest/20ファイル。メンバーのみを抽出したいtest/member01およびtest/member02およびディレクトリblah/そして、ssh/scpを使用してそれらを別の「remote_Host」にコピーします。

これはワンライナーとして行うことができますか? tarpax、またはcpioの使用を検討しましたが、これらのユーティリティについてはまだあまり熟練していないと思います。

9
Felipe Alvarez
_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_。もちろん、リモートホスト上の目的の宛先ファイルへの書き込み権限があることを確認する必要があります。

15
atanamir