web-dev-qa-db-ja.com

特定のディレクトリにunpigz(およびuntar)

選択した場所にファイルをgunzipする方法を知っています。

しかし、すべてのCPUパワーを利用することになると、多くはpigzではなくgzipを検討します。したがって、問題はどのように特定のディレクトリに*。tar.gzファイルをunpigz(およびuntar)するかです。

4

私は3つの解決策を見つけました:

  1. GNU tar、素晴らしい-Iオプションを使用して:

    tar -I pigz -xvf /path/to/archive.tar.gz -C /where/to/unpack/it/
    
  2. たくさんのLinuxパイピング(よりマニアックな外観を好む人向け):

    unpigz < /path/to/archive.tar.gz | tar -xvC /where/to/unpack/it/
    
  3. より移植性があります(他のtar実装へ):

    unpigz < /path/to/archive.tar.gz | (cd /where/to/unpack/it/ && tar xvf -)
    

    tar xvf -pax -rで置き換えることもできます [〜#〜] posix [〜#〜] 準拠、ただしLinuxベースのシステムでは必ずしも移植性が高いとは限りません)。

クレジットは @ PSkocik が正しい方向に、 @StéphaneChazelas が3番目のバリアントに、そして this 回答の作成者に送られます。

7