Split (Unix)

split (dalla lingua inglese to split, dividere) è un comando dei sistemi operativi Unix e Unix-like, e più in generale dei sistemi POSIX[1], che legge i dati di un file, o i dati provenienti dallo standard input, e li scrive suddividendoli in più file di dimensioni massime prestabilite; i nomi dei file scritti sono determinati automaticamente e ordinati alfabeticamente, in modo da poter ricostruire i dati originari tramite il comando cat.

Sintassi

La sintassi generale del comando split è la seguente:

split [opzioni] [--] [file [prefisso ] ]

Il parametro facoltativo file specifica il nome del file da cui leggere i dati. Se non specificato, o se è un trattino (-), split legge i dati provenienti dallo standard input.

Il parametro facoltativo prefisso specifica un prefisso da usare per i nomi dei file scritti. Se non specificato, viene usato il prefisso x.

Il doppio trattino -- (facoltativo) indica che i parametri successivi non sono da considerarsi opzioni.

Il comportamento predefinito prevede di usare suffissi di due caratteri ed una dimensione massima di 1000 linee di testo per ogni file.

Tra le opzioni principali vi sono:

-a num
Genera i nomi dei file usando un suffisso con un numero di caratteri pari a num.
-b num[suffisso]
Specifica la dimensione massima in byte di ciascun file. È possibile indicare la dimensione anche in KiB e MiB specificando rispettivamente i suffissi k e m.
-l num
Specifica la dimensione massima in linee di testo di ciascun file.

La versione GNU di split supporta inoltre le seguenti opzioni:

-C num[suffisso]
Specifica la dimensione massima in byte di ciascun file, evitando però di spezzare le linee di testo.
-d
Genera i nomi dei file usando dei suffissi numerici invece che alfabetici.

Esempi

Divide il file elenco.txt in più file con prefisso elenco.txt_ e dimensione massima di 10 linee ciascuno:

split -l 10 elenco.txt  elenco.txt_

Divide il file backup.bin in più file con prefisso backup_ e dimensione massima di 2 GiB ciascuno:

split -b 2048m backup.bin backup_

Concatena tramite il comando cat i file divisi con split, in modo da riottenere il file originale:

cat backup_* > backup1.bin

Note

  1. ^ (EN) split, in The Open Group Base Specifications Issue 6 IEEE Std 1003.1, 2004 Edition. URL consultato il 7 agosto 2008.

Voci correlate

Collegamenti esterni

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica