tarコマンドへの入力にファイルをパイプする方法

tarコマンドへの入力にファイルをパイプする方法

以下を使用してパイプされたtarファイルを解凍しようとすると、次のエラーが発生します。

$ git archive --format=tar 0af62b1 | tar -xf -C /the/path/here/
tar: -C: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now

最初の部分はgit archive --format=tar 0af62b1tarファイルを出力して画面に印刷します。この出力はパラメータを使用してファイルにキャプチャできます--output file_name

2番目の部分では、ファイルの内容を指定されたパスに抽出しようとします。個別に実行すると、両方が完全に実行されgit archive 0af62b1 --output file_nameますtar -xf file_name -C /the/path/here/

この場合、なぜ配管は不可能ですか?コマンドがパイプ入力を許可するかどうかはどうすればわかりますか?

ベストアンサー1

gitあなたの入力をstdin同義語にリンクしてみましょうtar -xf - -C /the/path/here/-またはもっと簡単ですtar -xC /the/path/here-デフォルトファイルです)。

おすすめ記事