utilizaría una todos sistema renombrar qué para operativo nombre los hat fichero directorio como comando carpeta cambiar borrar archivos archivo bash shell command-line tar

bash - una - Cambiar el nombre del directorio antes de que suceda tar



renombrar todos los archivos de una carpeta linux (2)

Tengo un directorio, por ejemplo, /var/tmp/my-dir/ que comprimo frecuentemente con el siguiente comando:

$ cd /var/tmp/ $ tar -zcf my-dir.tar.gz my-dir/*

Más tarde, cuando descomprima my-dir.tar.gz , se creará my-dir/ en el directorio actual. Parece que el directorio my-dir está "envuelto" dentro del tarball. ¿Existe una opción tar para cambiar my-dir nombre de my-dir a, por ejemplo, your-dir antes de que se produzca el marcado real. Así que eso ...

$ tar -zxf my-dir.tar.gz # So that ... this creates your-dir/, instead of my-dir/

Gracias.


Para mac works -s flag.

Renombrar en comprimir:

tar -zcf my-dir.tar.gz -s /^my-dir/your-dir/ my-dir/*

Renombrar en extracto:

tar -zxf my-dir.tar.gz -s /^my-dir/your-dir/


Que tar

GNU Tar acepta un argumento --transform , al que le da una expresión sed para manipular nombres de archivos.

Por ejemplo, para cambiar el nombre durante el desembalaje:

tar -zxf my-dir.tar.gz --transform s/my-dir/your-dir/

BSD tar y S tar similarmente tienen un argumento -s , tomando un simple /old/new/ (no una expresión sed general).