Comando split

Finalità

Divide un file in parti.

Sintassi

Per suddividere un file in più file contenenti il numero specificato di righe

split [ -l LineCount ] [ -a SuffixLength ] [ File [ Prefisso ]]

Per suddividere un file in più file che contengono un numero specificato di byte

split -b Numero [ k | m ] [ -a SuffixLength ] [ File [ Prefisso ]]

Descrizione

Il comando split legge il file specificato e lo scrive in parti di 1000 righe in una serie di file di output. Il nome del primo file di output viene creato combinando il prefisso specificato (x per impostazione predefinita) con il suffisso aa , il secondo combinando il prefisso con il suffisso ab , e così via lessicograficamente tramite zz (un massimo di 676 file). Il numero di lettere nel suffisso, e di conseguenza il numero di file del nome di output, può essere aumentato utilizzando l'indicatore -a .

Non è possibile specificare un Prefisso più lungo di PATH_MAX - 2 byte (o PATH_MAX - SuffixLength byte se viene specificato l'indicatore -a ). La variabile PATH_MAX specifica la lunghezza massima del nome percorso per il sistema, come definito nel file /usr/include/sys/limits.h .

Se non si specifica un file di input o se si specifica un nome file di - (segno meno), il comando split legge l'input standard.

Il comando split può essere utilizzato con qualsiasi file binario o di testo regolare. Una volta suddiviso un file, è possibile ripristinarlo al formato originale utilizzando il comando cat e i frammenti di file verranno elencati nell'ordine appropriato.

Indicatori

Nota: gli indicatori -b e -l si escludono reciprocamente.

Elemento Descrizione
-a SuffixLength Specifica il numero di lettere da utilizzare per formare la parte suffisso dei file del nome di emissione. Il numero di lettere determina il numero di possibili combinazioni di nomi file di output. Il valore predefinito è due lettere.
-b Numero Suddivide il file nel numero di byte specificato dalla variabile Numero . Aggiungendo i moltiplicatori k (kilobyte) o m (megabyte) alla fine del valore Numero , il file viene suddiviso rispettivamente in Numero* 1024 o Numero* 1.048.576 byte.
-l LineCount Specifica il numero di righe in ogni file di output. Il valore predefinito è 1000 righe.

Stato uscita

Questo comando restituisce i seguenti valori di uscita:

Elemento Descrizione
0 Il comando è stato eseguito correttamente.
> 0 Si è verificato un errore.

Esempi

  1. Per suddividere un file in segmenti di 1000 righe, immettere:
    split book
    Questo esempio suddividebookin segmenti di 1000 linee denominatixaaxabxac, e così via.
  2. Per dividere un file in segmenti di 50 righe e specificare il prefisso del nome file, immettere:
    split -l 50 book sect
    Questo esempio suddividebookin segmenti di 50 linee denominatisectaa,sectab,sectac, e così via.
  3. Per suddividere un file in segmenti 2KB , immettere:
    split -b 2k book
    Questo esempio suddivide il libro in segmenti da 2 * 1024 byte denominatixaa,xab,xac, e così via.
  4. Per dividere un file in più di 676 segmenti, immettere:
    split -l 5 -a 3 book sect
    Questo esempio suddivide un libro in segmenti di 5 linee denominatisectaaa,sectaab,sectaac, e così via, fino asectzzz(un massimo di 17.576 file).

File

Elemento Descrizione
/usr/bin/split Contiene il comando split .