GNU/Linux >> Linux Esercitazione >  >> Linux

Come dividere e combinare file dalla riga di comando in Linux

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.


Linux
  1. Come eliminare file e directory in Linux dalla riga di comando

  2. Come prevenire e ripristinare l'eliminazione accidentale di file in Linux

  3. Comando SCP Linux – Come trasferire file SSH da remoto a locale

  4. Come estrarre i file .gz e .tar.gz in Linux

  5. Come rimuovere file e directory nella riga di comando di Linux [Tutorial per principianti]

Comando Ls in Linux (Elenca file e directory)

Come copiare file e directory in Linux

Come spostare file e directory in Linux (comando mv)

Come cercare file dalla riga di comando di Linux

Come estrarre il file Tar.xz sulla riga di comando di Linux

Come controllare l'utilizzo di Inode da cPanel e dalla riga di comando?