GNU tar(1)
tiene una opción ordenada llamada --transform
. Desde la página del manual:
--transform, --xform EXPRESSION
usa sed replace EXPRESSION para transformar nombres de archivo
Esto permite la transformación de los nombres de ruta sobre la marcha a medida que se extrae el archivo para que pueda controlar dónde y cómo se extraerá.
Mi pregunta es, ¿hay alguna manera de realizar una transformación similar in situ ; es decir, sin extraer el archivo?
Ejemplo
[user@host]$ tar tf test.tar
./foo/blah ./foo/bleh
[user@host]$ some_deep_magic 's/foo/bar/' test.tar
[user@host]$ tar tf test.tar
./bar/blah ./bar/bleh
Caso de uso
Estoy distribuyendo un tar
archivo a usuarios finales básicamente desorientados y me gustaría que se extraiga en la ruta correcta sin interferencia de mi parte. Estoy tratando de evitar la solución trivial de extraer el archivo, cambiar el nombre de los directorios y volver a empaquetar ya que el archivo es grande.