O GNU tar vive em featuritis, então naturalmente também tem algumas opções para isso. link
Se você quiser apenas remover alguns segmentos de caminho, o --strip-components=n
ou --strip=n
geralmente será:
tar xvzf tgz --strip=1
Mas também é possível regex-reescrever os arquivos a serem extraídos (os sinalizadores são --transform
ou --xform
e aceitam ereg com o /x
modifer):
tar xvzf tgz --xform='s#^[^/]+#.#x'
# or 's#^.+/##x' for discarding all paths
Para listar um tar, você precisa da opção --show-transformed
adicional:
tar tvzf tgz --show-transformed --strip=1 --xform='s/abc/xyz/x'
Eu acredito que as opções de reescrita também funcionem para empacotamento, não apenas para extração. Mas pax
tem obviamente uma sintaxe mais agradável.