Creare archivi zip limitando il numero di files

sderrazza

Nuovo Utente
Ciao a tutti!
Vi chiedo un aiuto per la creazione di archivi zip.
Supponendo che in una cartella ho molti file, la mi necessità è creare tanti file .zip impostando un limite max di 10 file per ogni archivio.
Esempio: in una cartella, ho 657 files. Il mio obiettivo è creare automaticamente 66 archivi di cui 65 da 10 files ciascuno (perché ho impostato il limite massimo a 10 files per archivio) ed uno da 7.
Usando 7z ho visto che c'è l'opzione di splittare i file, ma questa non fa al caso mio in quanto i miei zip devo essere indipendenti l'uno dall'altro. Anche se i singoli archivi sono di dimensioni diverse l'importante è che venga limitato il numero di files per ogni zip.
Spero di esser stato chiaro.
Grazie a tutti
 

Moffetta88

Utente Èlite
4,972
2,370
Hardware Utente
Se stai usando una macchina basata su linux puoi usare questo sistema:
Bash:
find . ! -name '*.zip' -type f | xargs -n 10 | awk '{system("zip archivio_"NR".zip "$0)}'
Se invece sei su windows, invece....
Devi aspettare che torno stasera :)
 
  • Mi piace
Reactions: Tidus88

sderrazza

Nuovo Utente
Se stai usando una macchina basata su linux puoi usare questo sistema:
Bash:
find . ! -name '*.zip' -type f | xargs -n 10 | awk '{system("zip archivio_"NR".zip "$0)}'
Se invece sei su windows, invece....
Devi aspettare che torno stasera :)
Grazie! L'ideale sarebbe su windows, ma se non c'è una soluzione fattibile posso fare una vm con Linux.
Grazie!
 

Tidus88

Utente Attivo
706
215
Hardware Utente
CPU
Ryzen 2400G
Scheda Madre
Asrock B450M Pro4
Hard Disk
MX-500 500GB
RAM
Ballistix 16GB DDR4 3000Mhz
Scheda Video
GTX 970 Compact Inno3D
Monitor
Philips 27" 278C4QHSN/00
Alimentatore
Sharkoon Silentstorm Icewind 550W
Case
Aerocool Aero-500-BC
Sistema Operativo
Windows 10
Se stai usando una macchina basata su linux puoi usare questo sistema:
Bash:
find . ! -name '*.zip' -type f | xargs -n 10 | awk '{system("zip archivio_"NR".zip "$0)}'
Se invece sei su windows, invece....
Devi aspettare che torno stasera :)
@Moffetta, se non ti dispiace potresti spiegarmi cosa fa questa serie di comandi? Sono molto curioso :)
 

Moffetta88

Utente Èlite
4,972
2,370
Hardware Utente
@Moffetta, se non ti dispiace potresti spiegarmi cosa fa questa serie di comandi? Sono molto curioso :)
Giammai!Segreto professionale tra me e Torvalds!
find . ! -name '*.zip' -type f
Trova tutti i file eccetto gli archivi ZIP
Con il comando xargs -n 10 vai a raggruppare per 10 l'output. Quindi invece di farti l'elenco file per file, ti fa l'output di 10 file per riga
Infine reindirizzi tutto quello che hai ottenuto con le parti precedenti alla creazione degli archivi con
awk '{system("zip archivio_"NR".zip "$0)}' che andrà a creare n archivi con il nome di archivio_1.zip/archivio_2.zip e così via
 
  • Mi piace
Reactions: Tidus88

Entra

oppure Accedi utilizzando