mover archivos a una carpeta y comprimir la carpeta

mover archivos a una carpeta y comprimir la carpeta

Tengo que comprimir algunos archivos individualmente desde la carpeta A y moverlos a la carpeta B en el mismo directorio, lo que lleva mucho tiempo. Así que pensé en mover todos esos archivos para comprimirlos a una nueva carpeta (c), comprimirlos y moverlos a la carpeta B. ¿Es posible hacerlo con pocos comandos? Se aceptan sugerencias.

Respuesta1

Posiblemente un tipo de script de shell podría ayudarte:

enter code here
  mv <file.a>...<file.n> <new_folder>
  zip -r <new_folder>
  mv new_folder.zip /destination_folder

Respuesta2

cp -R (the path of the folder to copy) (the name of the copied file)

entonces

zip -r (name your zip) (the name of the copied file)

Escenario de ejemplo: digamos que quiero copiar los complementos de una instalación de WordPress y luego comprimirlos (mientras estoy en la carpeta raíz de WordPress).

Voy a hacer:

cp -R wp-content/plugins plugins_backup

entonces para comprobarlo haré:

ls -la

Veré el nuevo directorio.complementos_copia de seguridad, y lo cerraré:

zip -r plugins_backup.zip plugins_backup

listo. (luego sigue la respuesta de mv para moverlo a cualquier parte).

Respuesta3

De alguna manera he ignorado todo este tiempo el complemento FUSE para compatibilidad con archivos ZIP. Permite al usuario montar (o crear) un archivo ZIP como si fuera un sistema de archivos de lectura/escritura.

Primero cree un archivo nuevo (vacío) que termine en .zip y móntelo en /mnt. Como desea que el archivo ZIP termine en la carpeta B, lo crearemos allí:

# rm -f /folder_B/my_files.zip
# fuse-zip /folder_B/my_files.zip /mnt

Su publicación no está clara, pero parece que desea que el archivo .ZIP contenga la carpeta_C y luego todos sus archivos residan allí. Entonces crearemos la carpeta_C dentro del archivo .ZIP que está en /mnt:

# mkdir /mnt/folder_C

Ahora simplemente puede ir a la carpeta_A y mover todos los archivos que desea comprimir a /mnt/carpeta_C:

# cd /folder_A
# mv file1 file2 ... fileN /mnt/folder_C

Finalmente, desmonte e inspeccione el archivo ZIP:

# umount /mnt
# unzip -v /folder_B/my_files.zip

Me doy cuenta de que esto parece complicado, pero los cuatro pasos básicos son:

# fuse-zip /folder_B/my_files.zip /mnt
# mkdir /mnt/folder_C
# mv /folder_A/file1 /folder_A/file2 ... /folder_A/fileN /mnt/folder_C
# umount /mnt

No quiero decir que este método sea mejor ni peor que las otras soluciones, solo una forma diferente de hacerlo. Espero lo encuentres interesante.

información relacionada