tar.gzで特定のフォルダを解凍します。

tar.gzで特定のフォルダを解凍します。

ターミナル/コマンドラインの使用方法(Ubuntu14.04(信頼できる乗り物))?

良い:

-file.tar.gz
 -- folder1
 -- folder2

抽出する方法..

... folder1 -->  ~/locationX
... folder2 --> ~/locationY

どうすればいいですか?

注: これは純粋にターミナル/コマンドラインに関するものであり、人形。これは単なる例です。 Puppetで特定のフォルダを解凍するコマンドがある場合は、ファイルのtar.gz移動を回避できるため、Puppetで約50ステップを節約できます。

ベストアンサー1

私はこれが次のようになるべきだと思います。

tar -xzf file.tar.gz -C ~/locationX folder1 -C ~/locationY folder2

この-Cオプションは、解凍前に指定されたディレクトリに変更することを意味します。 tar ファイル名の後にファイル名引数を指定すると、そのファイルまたはディレクトリにのみ抽出が制限されます。-C以前と同様に、このハングディレクトリを繰り返すことができます。

これはサブディレクトリから抽出されます。folder1will go in ~/locationX/folder1, folder2will go in ~/locationY/folder2.--strip-componentsこれを防ぐには、次のオプションを使用できます。

tar -xzf file.tar.gz -C ~/locationX --strip-components=1 folder1 \
                     -C ~/locationY --strip-components=1 folder2

また、tarファイルの実際のプレフィックスがand./folder1./folder2場合は、tarファイルをとして生成したように、filenameパラメータに対応するプレフィックスを含めてから次のように変更するtar -czf file.tar.gz .必要があります。./--strip-components=2

おすすめ記事