2010-10-14 10 views
0

J'ai une archive, et je veux supprimer tous les fichiers .tcl, .bat, .log sauf pkgIndex.tcl dedans.Supprimer le fichier dans un tar, avec caractère générique et exception

si je fais

tar --delete -f mytarball.tar --wildcards *{.tcl,.log,.bat} 

mon pkgIndex.tcl sera supprimé, comment mettre cela comme exception dans mon caractère générique de modèle?

Juste essayé

tar --delete -f mytarball.tar --wildcards *{.tcl,.log} --exclude=*pkgIndex.tcl 

et

tar --delete -f mytarball.tar --wildcards *{.tcl,.log} --exclude=pkgIndex.tcl 

En vain ...

+2

Peut-être un peu évident, mais avez-vous essayé l'option '--exclude'? Cela devrait également être sur 'superuser.com' à la place. – Wolph

+0

oh, ok, .mois mauvais .. j'ai négligé celui-là .. – tensaix2j

+0

Juste essayé, n'a pas fonctionné, il est toujours retiré. – tensaix2j

Répondre

3

Ressemble GNU tar --exclude ignore lorsque vous utilisez --delete. Vous pouvez faire tar tf mytarball.tar --wildcards *{.tcl,.log} | grep -v pkgIndex.tcl | tar --delete -f mytarball.tar -T - à la place. Cela liste tous les fichiers correspondant à * .tcl ou * .log, grep pour tout mais pkgIndex.tcl, et rediriger la liste dans tar qui va supprimer ces fichiers de l'archive.