O manual tar(1)
no meu sistema Solaris 11.4-beta que
Filename substitution wildcards cannot be used for extracting files from the archive.
... e depois sugere usar
tar xvf test.tar $( tar tf test.tar | grep '^tdir[XY]' )
em vez disso. Isso listaria o conteúdo do arquivo e do grep para as linhas que correspondessem a dir[XY]
no início da linha.
Na verdade, sugere
tar xvf test.tar 'tar tf test.tar | grep '^tdir[XY]''
mas é a mesma coisa, a menos que seu shell seja antigo demais para entender $(...)
.
Isso parece um pouco como um hack (seria quebrar se algum dos diretórios contivesse um espaço, por exemplo), e eu, neste caso, provavelmente usaria apenas
tar xvf test.tar tdirX
tar xvf test.tar tdirY
Isso pressupõe que o diretório de trabalho atual é /dir1/dir2
e que o arquivo está localizado no mesmo diretório.