tarからリモートホストへの複数ファイルの抽出

tarからリモートホストへの複数ファイルの抽出

複数のディレクトリとファイルを含むtar.gzファイルがあります。特定のディレクトリをリモートホストにコピーして抽出する必要があります。

単一のファイルでこれを行う方法を知っていますが、単一のコマンドで複数のファイルを処理するのに問題があります。

    tar zxOf /mnt/debug.tar.gz libr.so | ssh $MY_IP 'cat > /local/libr.so'

現在の回避策は、ディレクトリ全体をローカルに抽出し、scpを使用してコピーすることです。

tar -zxf /mnt/debug.tar.gz -C utils/foo --strip-components=1 tools/

ありがとうございます!

答え1

シンプルなシェルループはどうですか?

files="first second third"
for f in files; do
  tar xf thearchive.tar $f | ssh otherhost "cat > $f"
done

関連情報