Creare archivi zip limitando il numero di files

Pubblicità

sderrazza

Nuovo Utente
Messaggi
8
Reazioni
1
Punteggio
24
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
 
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 :)
 
[TR][/TR][TR][/TR]
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!
 
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 :)
 
@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
 
Pubblicità
Pubblicità
Indietro
Top