Tar: Excluir determinadas extensões em subpastas

2

Eu tenho uma pasta que inclui subpastas que, por sua vez, também têm subpastas. Eu tentei:

tar --exclude='*.msh' --exclude='*.geo' -czvf cont.gz run-1/*

para compactar todos os arquivos e subpastas na execução 1, mas os arquivos com as extensões msh e geo. Mas o tar continua adicionando esses arquivos ainda. Os arquivos que foram excluídos não estão na execução 1, mas em uma das subpastas dela e não quero especificar os locais explicitamente. Onde está o problema?

Edit: Abaixo está uma das subpastas em execução-1. Outras subpastas têm estrutura semelhante. Eu também estou ok com a exclusão da pasta msh em todas as subpastas também.

run-1
  |-np-8
      |-nmesh-3
        |-ncell-1
          |-bunch of files
          |-msh
            |-bg.msh
            |-bg.geo
    
por Shibli 08.10.2018 / 16:54

1 resposta

2

Tente usar um arquivo de exclusão contendo as linhas:

*.msh
*.geo

O comando pode se parecer com:

tar -czvf cont.gz -X exclude-files.txt run-1/*

Você também pode usar o comando find para criar uma lista de arquivos a serem excluídos, mas isso só funciona bem para uma pequena quantidade de arquivos.

    
por 08.10.2018 / 17:44