In questo breve tutorial, mostrerò come dividere e combinare file dalla riga di comando in sistemi operativi simili a Linux e Unix usando i comandi "split" e "cat".
Ho molti video tutorial su Linux nel mio desktop Linux e volevo spostarli tutti sul mio Google Drive. Il problema è che la dimensione di alcuni file video è superiore a 1 GiB. Non è praticamente un buon approccio caricare file così grandi su Google Drive. Anche se Google Drive ci consente di caricare file fino a 5 TB, trovo che caricare tutti i file di grandi dimensioni richieda molto tempo.
Mentre riflettevo su questo problema, ho pensato che sarebbe stato molto meglio se fossi in grado di dividere quei file in dimensioni più piccole e caricarli uno per uno. Posso quindi scaricare tutte le parti del file e combinarle tutte quando voglio. Questo è solo un esempio. Potresti avere diversi motivi per suddividere un file di grandi dimensioni in più pezzi e combinarli in un secondo momento. Se ti sei mai trovato in questa situazione, non aver paura. C'è una semplice utility da riga di comando chiamata "split" che viene utilizzato per dividere i file di grandi dimensioni in più file più piccoli. Puoi unirli a tutti in un secondo momento per creare un unico file.
Dividi e combina file dalla riga di comando in Linux
Per prima cosa, vediamo come dividere un file grande in più file più piccoli.
Dividi i file in Linux dalla riga di comando
Dai un'occhiata alle dimensioni del seguente file video.
$ du -h Linux\ Security.mp4
Risultato di esempio:
1.1G Linux Security.mp4
Come vedi, la dimensione del file video è 1,1 GiB, che è molto grande da caricare sul mio disco Google. Anche se, Google Drive consente agli utenti di caricare file fino a 5 TB in termini di dimensioni, è davvero un processo che richiede tempo. Con la mia connessione Internet a bassa velocità, presumo che ci vorrebbero più di 30 minuti per il caricamento. Non voglio aspettare così a lungo. Quindi, quello che farò è dividere questo file in più file di dimensioni più piccole, ad esempio 100 MB ciascuno, per rendere più veloce il processo di caricamento.
Ora, dividiamo il file sopra in più file più piccoli, diciamo ad esempio 100 MB ciascuno. Per farlo, esegui:
$ split -b 100M Linux\ Security.mp4 ls.
Il comando precedente divide il file Linux Security.mp4 in blocchi da 100 MB. Questo comando crea file denominati ls.aa , ls.ab , ls.ac .. e così via.
Diamo un'occhiata all'output dopo aver diviso il file di grandi dimensioni.
$ ls
Risultato di esempio:
'Linux Security.mp4' ls.ab ls.ad ls.af ls.ah ls.aj ls.aa ls.ac ls.ae ls.ag ls.ai ls.ak
Vedere? Il file Linux Security.mp4 è stato suddiviso in più file denominati ls.aa, ls.ab .... ls.ak ecc. Ogni dimensione del file è 100 MB.
Ora è un po' facile inviarli come allegati e-mail.
Combina file in Linux dalla riga di comando
Salva tutti i file in una cartella. E poi, vai in quella cartella e combinali come segue.
$ cat ls.?? > Linux_security.mp4
Qui, Linux_security.mp4 è il nome del file di output. I doppi punti interrogativi(?? ) corrispondono a qualsiasi estensione di due caratteri nel nome del file. Per dirla semplicemente, la parte del nome del file ls.?? corrisponde a tutti i nomi di file come ls.aa, ls.ab ..etc. e li combina tutti in un unico file. Tieni presente che questo comando combinerà tutti i file che contengono estensioni di due caratteri. Quindi, assicurati prima di combinare i file. Se sono presenti altri file con estensione di due lettere, verranno uniti anche nel file di output.
Inoltre, non dimenticare di menzionare l'estensione corretta durante la fusione. Nel caso in cui desideri inviare tutti i file via mail al tuo amico, indicagli l'estensione corretta dei file che hai inviato. Lui/lei dovrebbe usare la stessa estensione di file nel file di output mentre li combina.
Se non specifichi alcun argomento nel comando split, il file verrà suddiviso in più file più piccoli con x come nomi di file. Ogni file conterrebbe 1000 righe per impostazione predefinita. Ecco, è il suffisso di due caratteri che viene aggiunto per impostazione predefinita con ogni nome di file.
Dividiamo lo stesso file usando il comando split senza specificare alcun argomento aggiuntivo come di seguito.
$ split Linux\ Security.mp4
Questo comando divide il file di sicurezza di Linux in più file più piccoli con x** come nomi di file.
Esegui il comando 'ls' per visualizzare i file:
$ ls
Esempio di output:
Linux Security.mp4 xaj xat xbd xbn xbx xch xcr xdb xdl xdv xef xep xez xfj xaa xak xau xbe xbo xby xci xcs xdc xdm xdw xeg xeq xfa xfk xab xal xav xbf xbp xbz xcj xct xdd xdn xdx xeh xer xfb xfl xac xam xaw xbg xbq xca xck xcu xde xdo xdy xei xes xfc xfm xad xan xax xbh xbr xcb xcl xcv xdf xdp xdz xej xet xfd xae xao xay xbi xbs xcc xcm xcw xdg xdq xea xek xeu xfe xaf xap xaz xbj xbt xcd xcn xcx xdh xdr xeb xel xev xff xag xaq xba xbk xbu xce xco xcy xdi xds xec xem xew xfg xah xar xbb xbl xbv xcf xcp xcz xdj xdt xed xen xex xfh xai xas xbc xbm xbw xcg xcq xda xdk xdu xee xeo xey xfi
Ogni file deve contenere 1000 righe. Puoi anche verificarlo utilizzando wc (conteggio parole) come mostrato di seguito.
$ wc -l *
L'output di esempio sarebbe:
142891 Linux Security.mp4 1000 xaa 1000 xab 1000 xac 1000 xad 1000 xae 1000 xaf 1000 xag 1000 xah . . . 1000 xfl 891 xfm 285782 total
Per combinare tutti questi file, esegui:
$ cat x* > ls.mp4
Il comando precedente unirà tutti i file in un unico file chiamato ls.mp4 .
Per maggiori dettagli, fare riferimento alle pagine man.
$ man split
Consiglia di leggere:
- Come dividere o estrarre pagine particolari da file PDF
- Come unire file PDF nella riga di comando su Linux
Conclusione
Potrebbero essere disponibili altri strumenti CLI e GUI in Linux per dividere o combinare file. Ma 'split' è un comando integrato che viene preinstallato. Quindi, non preoccuparti di installare strumenti aggiuntivi sulla tua scatola Linux. Inoltre, il comando dividi suddivide rapidamente il file in più parti.