Um asterisco em um comando é expandido antes de executar o comando por um shell, como bash.
Por exemplo, quando você executa ls *.txt
e tem três arquivos txt em um diretório chamado a.txt
, b.txt
e c.txt
bash expande-o para
ls a.txt b.txt c.txt
Eu não acredito que o GNU tar suporte este tipo de comportamento, no entanto você pode usar find e pipe no tar:
find /dir1 -iname '*.txt' -printf '%P\n' | tar --files-from=- -cvf textfiles.tar
De acordo com a página de manual , o sinalizador --wildcards
só pode ser usado ao extrair ou listar o conteúdo de um arquivo já existente.