Ça me rend fou. Je veux tar
un répertoire, mais exclure certains fichiers. Voici ma commande:
tar -zcvf $NAME-$VERSION.tar.gz $NAME-$VERSION --exclude='.git' --exclude='.gitignore'
Bien que la commande ci-dessus fonctionne sur RedHat EL5, elle ne fonctionne pas sur Mac OS 10.8.2. J'ai essayé de remplacer le '
par "
, \'
et \"
. J'ai essayé de supprimer les signes égaux. Rien ne fonctionne.
Qu'est-ce que je fais mal?
gnutar
de Brew, MacPort, etc. Le goudron d'Apple est trop paralysé.Réponses:
Toutes les options doivent être réunies avant les arguments, et l'
-f
indicateur doit précéder le fichier tar:la source
tar --help
, l'--exclude
option apparaît-elle dans l'aide? Je ne connais pas OSX mais peut-être qu'il y a ungtar
au lieu du stocktar
.tar --exclude='.git' --exclude='.gitignore' -zcvf $NAME-$VERSION.tar.gz $NAME-$VERSION
Le-f
drapeau attend un nom de fichier comme argument suivant.Cela vous donne ce que vous voulez:
la source
Il semble que vous aimiez filtrer les répertoires méta .git, la manière la plus simple consiste à utiliser --exclude-vcs pour exclure les répertoires du système de contrôle de version:
J'ai utilisé "tar (GNU tar) 1.27.1" sur ma machine Linux, il semble que la commande générale BSD de mac (version non GNU) ne supporte pas cette option.
la source
tar(1)
page de manuel d'Apple . il ne répertorie pas--exclude-vsc
ou--exclude-vcs
.