Si elijo un archivo zip y hago clic derecho en "extraer aquí", se crea una carpeta con el nombre de archivo zip y se extrae todo el contenido del archivo zip.crear carpeta para archivo zip y extraerla
Sin embargo, me gustaría convertir varios archivos zip a través de shell. Pero cuando lo haga
unzip filename.zip
la carpeta "filename"
no se crea, pero todos los archivos se extraen en el directorio actual.
He mirado los parámetros pero no hay tal parámetro. También probé
for zipfile in \*.zip; do mkdir $zipfile; unzip $zipfile -d $zipfile/; done
pero el .zip
extensión del archivo zip y 2. $ $ 4. archivo zip tiene que ser eliminado con sed. Si hago
for zipfile in \*.zip; do mkdir sed 's/\.zip//i' $zipfile; unzip $zipfile -d sed 's/\.zip//i' $zipfile/; done
no está funcionando.
¿Cómo reemplazo la extensión .zip
de $zipfile
correctamente?
¿Hay una manera más fácil que un script de shell?
Gracias, funciona como un encanto. – jack
Pero lo que no entiendo es ¿por qué $ 0 contiene el nombre completo del archivo y $ 1 no la extensión ".zip"? – jack
@jack Definí ".zip" como el FS (Separador de campo). Entonces 001.zip se separará en dos partes "001" y "". $ 1 es el primer campo. y $ 0 es la línea completa que en este caso es "001.zip" en awk, el campo se cuenta desde 1, no 0. – Kent