7

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

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

これにより、指定したフォルダーに tar ファイルが作成されますが、tar ファイル内には a/b/c/ のフォルダー構造がまだ存在しています。

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

4

1 に答える 1

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、それに応じて相対パスを調整する必要があります。

于 2012-08-27T15:04:30.637 に答える