Come faccio a dividere un file in parti in Linux

Come faccio a dividere un file in parti in Linux
Questo tutorial spiega come dividere i file in parti in Linux per dimensioni facilmente, diversi file, contenuti e altre opzioni. Dopo aver letto questo articolo, saprai come dividere i file usando entrambi i diviso E csplit comandi e come combinare o unire i file di file.

Come dividere i file per dimensioni in Linux:

Per il primo esempio di questo tutorial, userò un'immagine ISO Windows da 5 GB denominata Win10x64.Iso. Per imparare la dimensione del file che si desidera dividere, puoi usare il du -h comando, come mostrato nello screenshot seguente.

du -h

Come puoi vedere, la dimensione del file è 5 GB. Per dividerlo in 5 file di 1 GB ciascuno, è possibile utilizzare il diviso comando seguito dal -B flag e dimensioni dei file divise che desideri. IL G La definizione dell'unità di dimensioni per GB può essere sostituita M per megabyte o B per byte.

Split -B 1G Win10x64Pro.Iso

Come puoi vedere, l'ISO è stato diviso in 5 file denominati XAA, XAB, XAC, XAD e XAE.

Per impostazione predefinita, il diviso I nomi dei comandi hanno generato file nell'esempio precedente, in cui XAA è la prima parte, xab la seconda parte, xac il terzo, ecc. Come mostrato nell'esempio seguente, è possibile modificarlo e definire un nome, lasciando il nome predefinito come estensione.

Split -B 1G Win10x64Pro.Finestre iso.

Come puoi vedere, tutti i file sono denominati Windows.*, l'estensione del nome fornito dal comando diviso, che ci consente di conoscere l'ordine dei file.

Quando si utilizza il comando diviso, è possibile implementare la verbosità per il comando per stampare i progressi, come mostrato nella seguente screenshot.

Split --verbose -b 1g win10x64pro.Finestre iso.

Come puoi vedere, l'output di avanzamento mostra la fase della divisione dei file. L'esempio successivo mostra come dividere i file in unità MB. Il file è un file da 85 MB.

split -verbose -b 20m virtualbox.Deb VirtualBox.Deb.

Il comando split include ulteriori funzionalità interessanti che non sono spiegate in questo tutorial. È possibile ottenere ulteriori informazioni sul comando diviso su https: // man7.Org/Linux/Man-Pages/Man1/Split.1.html.

Come dividere i file per contenuto in Linux usando CSPlit:

In alcuni casi, gli utenti potrebbero voler dividere i file in base al loro contenuto. Per tali situazioni, i precedentemente spiegati diviso Il comando non è utile. L'alternativa a raggiungere questo obiettivo è il csplit comando.

In questa sezione tutorial, imparerai come dividere un file ogni volta che viene trovata un'espressione regolare specifica. Useremo un libro e lo divideremo in capitoli.

Come puoi vedere nell'immagine qui sotto, abbiamo 4 capitoli (sono stati modificati per consentirti di vedere le divisioni del capitolo). Supponiamo che tu voglia ogni capitolo in un file diverso. Per questo, l'espressione regolare che useremo è "Capitolo".

So che ci sono 4 capitoli in questo libro, quindi dobbiamo specificare il numero di divisioni che vogliamo prevenire errori. Negli esempi seguenti, spiego come dividere senza conoscere il numero di espressioni regolari o divisioni. Ma in questo caso, sappiamo che ci sono 4 capitoli; Pertanto, dobbiamo dividere il file 3 volte.

Esegui csplit seguito dal file che si desidera la divisione, l'espressione regolare tra le barre e il numero di divisioni tra le parentesi graffe, come mostrato nell'esempio seguente.

csplit linuxhint.txt / capitolo / 3

L'output che vediamo è il conteggio dei byte per ogni file file.

Come puoi vedere, sono stati creati 5 file, lo spazio vuoto prima del capitolo 1 era anche diviso.

I file sono denominati come quando si utilizzano il comando diviso precedentemente spiegato. Vediamo come sono stati divisi.

Il primo file, xx00 è vuoto, è lo spazio vuoto prima della prima volta il "Capitolo"Viene visualizzata un'espressione regolare e il file viene diviso.

Il secondo pezzo mostra solo il primo capitolo correttamente.

Il terzo pezzo mostra il capitolo 2.

Il quarto pezzo mostra il capitolo tre.

E l'ultimo pezzo mostra il capitolo 4.

Come spiegato in precedenza, è stato specificato il numero di espressioni regolari per prevenire un risultato errato. Per impostazione predefinita, se non specifichiamo il numero di divisioni, csplit taglierà il file solo una volta.

L'esempio seguente mostra l'esecuzione del comando precedente senza specificare il numero di divisioni.

csplit linuxhint.txt /capitolo /

Come puoi vedere, sono stati prodotti solo una divisione e due file perché non abbiamo specificato il numero di divisioni.

Inoltre, se si digita un numero sbagliato di divisioni, ad esempio 6 divisioni con solo 4 espressioni regolari, otterrai un errore e non si verificherà alcuna divisione, come mostrato nell'esempio seguente.

Quindi cosa fare quando il contenuto è troppo lungo e non sai quante espressioni regolari che si dividi nel contenuto?. In una situazione del genere, dobbiamo implementare il jolly.

Il jolly produrrà molti pezzi come espressioni regolari trovate nel documento senza la necessità di specificarli.

csplit linuxhint.txt / capitolo / *

Come puoi vedere, il file è stato diviso correttamente.

Il comando csplit include ulteriori funzionalità interessanti che non sono spiegate in questo tutorial. È possibile ottenere ulteriori informazioni sul comando diviso su https: // man7.org/linux/man-pagine/man1/csplit.1.html.

Come combinare o ricambiare file:

Ora sai come dividere i file in base alla dimensione o al contenuto. Il prossimo passo è combinare o partecipare ai file. Un compito facile usando il file gatto comando.

Come puoi vedere di seguito, se leggiamo tutti i pezzi di file usando cat e jolly, il gatto Il comando li ordinerà con l'ordine alfabetico dei loro nomi.

gatto xx*

Come puoi vedere, i gatti sono in grado di ordinare correttamente i file. Unendo o unito i file consiste nell'esportazione di questo risultato; puoi farlo come mostrato nell'esempio seguente, dove il CombinedFile è il nome per il file combinato.

Cat xx*> CombinedFile

Come puoi vedere nella seguente immagine, il file è stato unito correttamente.

file meno combinato

Conclusione:

Come puoi vedere, dividere i file in parti in Linux è abbastanza semplice e devi solo essere consapevole di qual è lo strumento corretto per il tuo compito. Vale la pena per qualsiasi utente Linux apprendere questi comandi e i loro vantaggi, ad esempio, quando si condividono i file tramite una connessione instabile o tramite canali che limitano la dimensione del file. Entrambi gli strumenti hanno molte funzionalità aggiuntive che non sono state spiegate in questo tutorial e puoi leggere sulle loro pagine da uomo.

Spero che questo tutorial che spiega come dividere un file in parti in Linux sia stato utile. Continua a seguire questo sito per ulteriori suggerimenti e tutorial Linux.