Extraer solo archivos con una extensión específica a través de bash.
Para la primera vez, necesito crear un archivo .sh
para hacer algo. Mi objetivo es descomprimir muchas carpetas zip, así que he escrito el siguiente script:
for zipfiles in /descargas/*.zip; do unzip $zipfiles; done
Puedo descomprimir todos, pero he notado que hay algunos archivos con el mismo nombre y escribiendo y
puedo sobreescribir el proceso.
¿Hay alguna forma de extraer solo archivos con una extensión específica, como .docx
, en lugar de la carpeta zip completa? Estoy absolutamente seguro de que no hay .docx
con el mismo nombre.
davy.ai
Sí, puedes extraer solo archivos con una extensión específica utilizando las opciones
-j
y-d
con el comandounzip
.Aquí está el script modificado:
Esto extraerá solo archivos docx de todos los archivos zip en el directorio
/descargas
y los colocará en el directorio/carpeta_extraida
. La opción-j
eliminará la ruta del directorio (es decir, eliminará los directorios parentales) y la opción-d
especifica el directorio de destino para los archivos extraídos. El argumento"*.docx"
le indica aunzip
que solo extraiga archivos con la extensión.docx
.Ten en cuenta que debes crear el directorio
/carpeta_extraida
antes de ejecutar el script.