tar excluir arquivos * .zip

1

Por que os padrões *.zip não funcionam em tar :

tar cfjv backup.tar.bz2 --exclude mydir/files/*.zip mydir

Existe outra sintaxe?

    
por Basj 31.05.2015 / 15:47

2 respostas

3

Você precisará citar o padrão de exclusão, mydir/files/*.zip , caso contrário o shell irá expandi-lo (globbing), possivelmente / provavelmente correspondendo a vários arquivos, e o significado de sua linha de comando será muito diferente do que você pretendia .

Isso significa alterar sua linha de comando original tar para

$ tar cfjv backup.tar.bz2 --exclude "mydir/files/*.zip" mydir

Inicialmente, achei que havia algo com as opções cfjv . Essas são opções de linha de comando antigas e tar as manipula de maneira muito diferente das opções de linha de comando mais "modernas" (prefixadas por - ). É por isso que você faz não obter um arquivo chamado jv , mesmo que seja isso que está seguindo a opção f .

O manual de tar no Mac OS X menciona isso na seção "COMPATIBILIDADE":

The bundled-arguments format is supported for compatibility with historic implementations. It consists of an initial word (with no leading - character) in which each character indicates an option. Arguments follow as separate words. The order of the arguments must match the order of the corresponding characters in the bundled command word. For example,

      tar tbf 32 file.tar

specifies three flags t, b, and f. The b and f flags both require arguments, so there must be two additional items on the command line. The 32 is the argument to the b flag, and file.tar is the argument to the f flag.

    
por 31.05.2015 / 22:02
0

Para procurar todos os arquivos .zip no diretório atual e todos os subdiretórios, tente: this

 find ./foldername -type f -name '*.zip'

Para excluir todos os arquivos .zip no diretório atual e em todos os subdiretórios, tente isto:

 find ./foldername -type f -name '*.zip' > exclude.txt

Para criar um Arquivo tar excluindo todos os arquivos .zip no diretório atual e todos os subdiretórios, tente isto:

tar -zcvf backup_foldername.tar.gz -X exclude.txt ./foldername
    
por 09.03.2017 / 11:48