2012-08-27 7 views
7

1つのtarファイルに複数のファイルを圧縮する必要があります。私は多くの異なるフォルダの多くのファイルに対してこれを繰り返さなければならないので、シェルスクリプトを書いて親ディレクトリから起動しました。シェルスクリプトは、次のように複数の行が含まれています。フォルダ構造なしのtarファイルの作成

tar -cf a/b/c/tarfile.tar a/b/c/* 

これは、指定したフォルダ内のtarファイルを作成しますが、/ B/Cの/のフォルダ構造をタールファイル内がまだ存在しません。

私が望むのは、c /のすべてのファイルが、フォルダ構造a/b/c /なしでtarfile.tarに置かれていることです。これは可能ですか?

答えて

14

tar -cf a/b/c/tarfile.tar -C a/b/c .はディレクトリa/b/cに切り替えて、ディレクトリ全体を読み込む(. - あなたにも、特定のファイルを指定することもできますが、ワイルドカードは、あなたが期待しているものを行うことはありません)します。 -C <directory> <filelist>パターンは、必要に応じて繰り返して、別の場所から追加のファイルを処理することができます。

あなたの元の例与えられたもう一つの可能​​性はcd a/b/c; tar cf ../../../tarfile.tar *だろうが、それはあなたのコースあなたはまだ-Cを使用することができますが、相対パスはそれに応じて調整する必要があります(異なる場所から複数のファイルをプルする可能性を与えるものではありません。

+0

ありがとうtwalberg、私はあなたの2番目のアドバイスを試してみました。(最初にディレクトリを作成してからtar-fileを作成してください) – ala

関連する問題