Estructura de directorio de destino para alquitrán diferente a la estructura de directorio original

0

¿Hay alguna forma de establecer una estructura de directorio de destino diferente a la estructura de directorio original desde la que se creó el archivo tar sin crearlo a mano?

Por ejemplo, tengo muchos archivos en una estructura de directorios como esta:

~/yyyy/mm/dd/hh/mm/*.*

Organizado por cuando se recibió el archivo. Ya creo un archivo tar sin preservar la estructura de directorios anterior para todo el día de archivos (tengo un pequeño script que recorre cada minuto de cada hora y se agrega a un solo archivo tar). Me gustaría especificar tar para extraer el archivo a la estructura de directorios de esta manera:

~/yyyymmdd

Parece bastante simple ya que podría crear el yyyymmdddirectorio a mano y simplemente extraer mi archivo en él, pero le doy este archivo tar a un sistema diferente (sobre el cual no tengo control) que se basa en que este archivo tar se extraiga en un yyyymmdddirectorio y el yyyy/mm/dd/hh/mm/*.*la estructura del directorio me da ganancias de rendimiento porque está organizada. Además, no puedo cambiar la estructura de directorio original ni desperdiciar recursos del sistema creando la estructura de directorio de destino deseada antes de crear el archivo tar.

¿Hay una manera simple de extraer un archivo tar en un directorio en el que nunca estuvo?

Jeff Hall
fuente
Yo no. Me disculpo; Debí haber sido más especifico. El archivo tar debe extraerse así: tar xf archive.tary generar un directorio yyyymmdd/con todos los archivos. Echaré un vistazo a --strip-componentsy transform.
Jeff Hall

Respuestas:

0

Si tienes esta estructura

/ inicio / aaaa / mm / dd / hh / mm /
├── dir1
│ ├── archivo4
│ └── archivo5
├── dir2
│ └── archivo6
├── archivo1
├── archivo2
└── archivo3

y quieres esta estructura

/ inicio / aaaammdd /
├── dir1
│ ├── archivo4
│ └── archivo5
├── dir2
│ └── archivo6
├── archivo1
├── archivo2
└── archivo3

Crear:

tar -cvf /tmp/archive.tar /home/yyyy/mm/dd/hh/mm/

Extraer:

tar --strip-components=6 -C /home/yyyymmdd/ -xvf /tmp/archive.tar
Ciro
fuente