J'ai un répertoire avec plusieurs sous-répertoires. Dans certains de ces sous-répertoires, j'ai des fichiers avec l'extension *.asc
et d'autres avec *.xdr
.
Je souhaite créer un fichier SINGLE tarball/gzip qui conserve la structure de répertoires mais exclut tous les fichiers portant l'extension *.xdr
.
Comment puis-je faire ceci?
J'ai fait quelque chose comme find . -depth -name *.asc -exec gzip -r9 {} +
mais cela gzips chaque fichier *.asc
individuellement, ce qui n'est pas ce que je veux faire.
Vous devez utiliser l'option --exclude
:
tar -zc -f test.tar.gz --exclude='*.xdr' *
gzip gérera toujours les fichiers individuellement. Si vous voulez une archive groupée, vous devez d'abord tarifier les fichiers, puis gzip le résultat. Vous obtiendrez ainsi un fichier .tar.gz ou .tgz en abrégé.
Pour obtenir un meilleur contrôle sur ce que vous faites, vous pouvez find
les fichiers d’abord en utilisant la commande que vous avez déjà publiée (avec -print insted de la commande gzip), placez-les dans un fichier et utilisez ce fichier (= filelist.txt) pour uinstruct tar avec quoi archiver
tar -T filelist.txt -c -v -f myarchive.tar