El alquitrán GNU vive de la featuritis, por lo que, naturalmente, también tiene algunas opciones para eso.
http://www.gnu.org/software/tar/manual/html_node/transform.html
Si solo desea eliminar algunos segmentos de ruta, entonces --strip-components=n
o --strip=n
a menudo lo hará:
tar xvzf tgz --strip=1
Pero también es posible regex-reescribir los archivos a extraer (las banderas son --transform
o --xform
y aceptan ereg con el /x
modificador):
tar xvzf tgz --xform='s#^[^/]+#.#x'
# or 's#^.+/##x' for discarding all paths
Para enumerar un alquitrán, necesita la --show-transformed
opción adicional :
tar tvzf tgz --show-transformed --strip=1 --xform='s/abc/xyz/x'
Creo que las opciones de reescritura también funcionan para empacar, no solo para extraer. Pero pax
obviamente tiene una sintaxis más agradable.