多くのサブディレクトリを持つディレクトリがあります。それらのサブディレクトリのいくつかには、*.asc
拡張機能と一部の*.xdr
。
ディレクトリ構造を維持しながら、*.xdr
拡張子。
これどうやってするの?
find . -depth -name *.asc -exec gzip -r9 {} +
ですが、これは*.asc
ファイルを個別に作成しますが、これは私がやりたいことではありません。
--exclude
オプションを使用する必要があります:
tar -zc -f test.tar.gz --exclude='*.xdr' *
gzipは常にファイルを個別に処理します。バンドルされたアーカイブが必要な場合は、最初にファイルをtarし、次に結果をgzipする必要があるため、最終的には.tar.gzファイルまたは.tgzになります。
何をしているのかをより適切に制御するには、最初に既に投稿したコマンドを使用してファイルをfind
し(gzipコマンドの代わりに-printを使用)、ファイルに入れてからこのファイルを使用します( = filelist.txt)アーカイブするものをtarに指示します
tar -T filelist.txt -c -v -f myarchive.tar