Si un archivo contiene varios archivos en el directorio raíz, me gustaría crear un directorio con el nombre del archivo (sin extensión). Si un archivo contiene solo un directorio, me gustaría simplemente extraerlo. Supongamos que tengo el siguiente archivo:
# file: withdir.zip
somedir/alpha
somedir/beta
somedir/gamma
Si lo extraigo en el directorio actual, me gustaría tenerlo simplemente extraído ( unzip withdir.zip
):
somedir/alpha
somedir/beta
somedir/gamma
Ahora asuma el siguiente archivo:
# file: nodir.zip
alpha
beta
gamma
Cuando ejecuto unzip nodir.zip
termino abarrotando el directorio actual con los tres archivos:
alpha
beta
gamma
Prefiero correr unzip -d nodir nodir.zip
:
nodir/alpha
nodir/beta
nodir/gamma
Si uso nautilus y hago clic derecho en "Extraer aquí". Se comporta exactamente como debería. Pero desafortunadamente no he encontrado un interruptor de línea de comando para unzip
o
7z
que produzca el mismo comportamiento. ¿Cómo lograr eso? ¿Hay otras herramientas que pueda usar en su lugar (sin GUI)?
withdir
para el archivo,withdir.zip
aunque contiene solo un directorio en la raíz porquegrep -c "Folder = -"
regresa3
.