Isto infelizmente não é possível, pois a família de opções --exclude
não é poderosa o suficiente.
Uma abordagem seria obter a lista de objetos usando um programa externo (digamos, find
) e, em seguida, usar a opção -T
para informar ao tar quais arquivos / objetos devem ser incluídos.
Citando a página man:
-T, --files-from FILE
get names to extract or create from FILE
Se os nomes dos arquivos contiverem símbolos especiais (e / ou espaços), eu adicionaria --null
à linha de comando tar; para gerar a lista eu também usaria -print0
com find - para separar os arquivos / dirs com o caracter NUL ( %code%0
).