Isto está me enlouquecendo. Eu quero tar
um diretório, mas excluo alguns arquivos. Este é o meu comando:
tar -zcvf $NAME-$VERSION.tar.gz $NAME-$VERSION --exclude='.git' --exclude='.gitignore'
Embora o comando acima funcione no RedHat EL5, ele não funciona no Mac OS 10.8.2. Eu tentei substituir o '
com "
, \'
e \"
. Eu tentei remover os sinais de igual. Nada funciona.
O que estou fazendo de errado?
gnutar
de Brew, MacPort, etc. O alcatrão da Apple está muito aleijado.Respostas:
Todas as opções precisam estar juntas antes dos argumentos, e o
-f
sinalizador precisa preceder o arquivo tar:fonte
tar --help
, a--exclude
opção aparece na ajuda? Eu não sei OSX, mas talvez haja um emgtar
vez do estoquetar
.tar --exclude='.git' --exclude='.gitignore' -zcvf $NAME-$VERSION.tar.gz $NAME-$VERSION
A-f
flag espera um nome de arquivo como o próximo argumento.Isso fornece o que você deseja:
fonte
Parece que você deseja filtrar os meta-diretórios .git, a maneira mais fácil é usar --exclude-vcs para excluir os diretórios do sistema de controle de versão:
Eu usei "tar (GNU tar) 1.27.1" na minha máquina Linux, parece que o BSD General Command do mac (versão não GNU) não suporta esta opção.
fonte
tar(1)
página de manual da Apple . não lista--exclude-vsc
ou--exclude-vcs
.