csplit è una popolare utility da riga di comando di Linux utilizzata per dividere in due il contenuto di un file. Il file da modificare deve essere un file di testo con ".TXT"estensione.
Il comando è facile da usare e funziona bene su tutte le distribuzioni Linux. Con l'uso di diversi flag disponibili per csplit, puoi anche modificare l'output in base alle tue necessità.
Ecco come usare csplit per dividere un file su Linux.
Cos'è csplit?
Utilizzato su Linux e altri sistemi operativi simili a Unix, csplit può dividere un file in singoli file determinati da righe di contesto.
La sintassi di base del comando è:
csplit[OPZIONE][MODELLO]
csplit vs. diviso
Alla maggior parte degli utenti Linux piace usare il comando split quando si tratta di dividere un file in più file più piccoli. Il problema con questo comando è che si basa sulla dimensione in byte o sulla dimensione della riga per dividere i file.
Ciò non è fattibile negli scenari in cui si desidera suddividere i file in base al contenuto anziché alla dimensione. Questo è quando csplit viene in soccorso poiché divide il file in blocchi di dimensioni fisse in base al contenuto anziché al conteggio dei byte.
Come installare csplit su Linux
csplit è preinstallato su quasi tutte le distribuzioni Linux. Tuttavia, se riscontri un errore "csplit: comando non trovato", significa che lo strumento non è installato sul tuo sistema. Per installare csplit su Ubuntu, eseguire:
sudo apt-Ottenere installare coreutils
Su Arch Linux, esegui:
sudo pacman -S coreutils
Per installare csplit su Fedora e RHEL:
sudo dnf installare coreutils
Come usare csplit su Linux
Per vedere come funziona csplit, crea un file di testo sul tuo sistema. Utilizzo il comando touch per creare un file vuoto.
tocconome del file.TXT
Una volta creato il file, aprilo con il nano editor per modificarne il contenuto.
nanonome del file.TXT
Dopo aver aggiunto del contenuto al file, premere Ctrl+X poi Y per salvarlo e chiuderlo.
Per verificare il contenuto del file utilizzando il comando del gatto, correre:
nome file cat
Utilizzare il comando csplit per dividere un file
Per capire come funziona csplit, guarda prima il contenuto del file usato qui come esempio.
Il file contiene nove righe dai numeri da 1 a 9. Se devi dividere il file in due, come dirai a csplit quali contenuti inviare al primo file e quali all'altro? Questo è facile. Nel comando, devi solo dire a csplit da quale riga iniziare la divisione.
Questo viene fatto specificando il numero di riga. Ad esempio, se desideri dividere il file dalla terza riga con la parola "London", menzionerai 3 nel comando. Immettere il comando in questo modo:
csplitnome del file.TXT 3
Questo comando dividerà istantaneamente il file in due. Utilizzo il comando ls per elencare tutti i contenuti della directory per vedere i file di output. Troverai i nuovi file con i nomi xx00 E xx01 accanto al file originale.
Utilizzare il comando cat per verificare il contenuto di entrambi i file.
Come puoi vedere, csplit divide il file in due parti dalla terza riga come specificato nel comando.
Le opzioni del comando csplit
Ecco alcune delle opzioni della riga di comando csplit che puoi utilizzare:
1. Modificare il prefisso per i file di output
Conosciuto anche come bandiera del prefisso, -F modifica il prefisso nel nome del file. Potresti aver notato che quando csplit divide il file, i nuovi file creati hanno xx come prefisso nei nomi dei file. Puoi cambiarlo usando il -F flag nel comando.
Ad esempio, se vuoi che i nomi dei file abbiano abc come prefisso invece di xx, emettere il comando in questo modo:
csplit-Fabcnome del file.TXT 3
Come visibile, dopo la divisione, entrambi i file hanno abc come prefisso nei nomi.
2. Mantieni i file quando si verificano errori
IL -K o il --keep-file L'opzione non rimuove i file di output se c'è un errore nel comando csplit.
Immetti il seguente comando errato:
csplit -k filecasuale.txt 2 {3}
3. Modifica il numero di cifre nel nome del file
Usando questa opzione, puoi dire al comando csplit quante cifre vuoi vedere nel nome del file dopo il prefisso. È anche chiamata la bandiera delle cifre.
Immetti il seguente comando per mantenere solo una cifra nel nome del file:
csplit-N 1 randomfile.TXT 2
Senza il -N flag, per impostazione predefinita, vedrai due cifre nel nome del file.
4. Dividi il file senza emettere il conteggio delle dimensioni
Conosciuta anche come la bandiera tranquilla, la -S flag divide silenziosamente il file senza menzionare il conteggio delle dimensioni dei file di output.
csplit-Srandomfile.TXT 3
5. Visualizza la Guida della riga di comando
Per visualizzare i dettagli di tutte le opzioni disponibili per csplit, utilizzare il file -H O --aiuto flag nel comando.
csplit --aiuto
6. Controllare il numero di versione csplit
Per vedere quale versione di csplit stai usando, esegui il comando con il file --versione bandiera:
csplit --versione
7. Ometti una riga specifica durante la divisione
Puoi anche usare il --suppress-matched opzione della riga di comando per omettere una particolare riga durante la divisione del file.
csplit--suppress-matchednome del file.TXT 5
Durante la creazione dei due file, csplit ignorerà la quinta riga e dividerà il file dalla riga successiva.
La quinta riga del file originale contiene la parola "Berlino". Nel file di output, "Berlin" è stato omesso.
Dividi i file senza sforzo con un singolo comando su Linux
Sono disponibili molte utilità della riga di comando per gestire i file su un sistema Linux. Uno di questi è csplit. Per impostazione predefinita, è disponibile su tutti i sistemi Linux. In caso contrario, puoi semplicemente installarlo tramite la riga di comando.
csplit è un modo semplice ed efficiente per dividere un file quando devi dividere il file in base al suo contenuto. csplit viene fornito con varie opzioni della riga di comando che ti offrono la flessibilità di personalizzare l'output nel modo desiderato. Esistono diversi strumenti da riga di comando per visualizzare il contenuto di un file su Linux se si desidera controllare i file dopo la divisione.