Por padrão, o tar não fornece um meio de pular diretórios vazios. Dito isto, não é muito trabalhoso extrair um script de shell simples do nada para fazer o que precisa ser feito.
Aqui é uma discussão no fórum onde eu encontrei a solução para exatamente o mesmo problema, quando surgiu a necessidade.
ATUALIZAÇÃO PRINCIPAL: Primeiro eu preciso me desculpar seriamente pelo meu desleixado copiar-colar. Era um post tarde da noite e eu não estava no auge do meu intelecto ...
A postagem correta no fórum é aqui . Na verdade, é a mesma pessoa que faz a mesma pergunta em um fórum diferente e recebe uma resposta totalmente diferente. Eu tinha marcado tanto quando eu encontrei o problema e dei o link para o errado.
Na verdade, o que mostra aqui é a maneira de "canalizar" a saída do comando find para o tar. Você tem que ignorar todas as coisas sobre "mais novo que" o cara está perguntando.
Em vez disso, a parte que você precisa encontrar é assim:
find . -type d ! -empty | ...
É claro que você precisa substituir o ponto (".") pelo caminho onde você precisa encontrar / tar para iniciar. Após o pipe, continue com o comando tar, conforme o segundo link (o correto).
Mais uma vez lamento profundamente se causei algum problema com minha falta de atenção aos detalhes.