web-dev-qa-db-ja.com

特定のファイルを除くtar / gzip

多くのサブディレクトリを持つディレクトリがあります。それらのサブディレクトリのいくつかには、*.asc拡張機能と一部の*.xdr

ディレクトリ構造を維持しながら、*.xdr拡張子。

これどうやってするの?

find . -depth -name *.asc -exec gzip -r9 {} +ですが、これは*.ascファイルを個別に作成しますが、これは私がやりたいことではありません。

17
user1654183

--excludeオプションを使用する必要があります:

tar -zc -f test.tar.gz --exclude='*.xdr' *

39
Allolex

gzipは常にファイルを個別に処理します。バンドルされたアーカイブが必要な場合は、最初にファイルをtarし、次に結果をgzipする必要があるため、最終的には.tar.gzファイルまたは.tgzになります。

何をしているのかをより適切に制御するには、最初に既に投稿したコマンドを使用してファイルをfindし(gzipコマンドの代わりに-printを使用)、ファイルに入れてからこのファイルを使用します( = filelist.txt)アーカイブするものをtarに指示します

tar -T filelist.txt -c -v -f myarchive.tar
1
cars10m