Introduzione
Il split
di Linux Il comando suddivide i file in parti più piccole e viene utilizzato per analizzare file di testo di grandi dimensioni con molte righe. Sebbene ogni file diviso contenga 1000 righe per impostazione predefinita, la dimensione è modificabile.
In questa guida, scopri come utilizzare Linux split
comando con esempi.
Requisiti
- Accesso alla linea terminale.
- Un file di testo di grandi dimensioni (questo tutorial utilizza file large_text, small_text e tiny_text).
Linux divide la sintassi dei comandi
Il split
di base la sintassi è:
split [options] [file] [prefix]
Il split
il comando non può essere eseguito senza includere il file di destinazione. L'indicazione del prefisso è facoltativa. Se non viene specificato alcun prefisso, split
l'impostazione predefinita è l'utilizzo di x come prefisso, nominando i file creati come segue:xaa , xab , xac , ecc.
Opzioni di comando divise in Linux
Il split
comando supporta molte opzioni. Il split
più comune le opzioni dei comandi sono:
Opzione | Descrizione |
---|---|
-a | Imposta la lunghezza del suffisso. |
-b | Determina la dimensione per file di output. |
-C | Determina la dimensione massima per file di output. |
-d | Cambia i suffissi predefiniti in valori numerici. |
-e | Omette di creare file di output vuoti. |
-l | Crea file con un numero specifico di righe di output. |
-n | Genera un numero specifico di file di output. |
--verbose | Visualizza un output dettagliato. |
Esempi di comando di divisione Linux
Il split
comando consente agli utenti di dividere e lavorare con file di grandi dimensioni in Linux. Il comando viene spesso utilizzato nella pratica e di seguito vengono spiegati 13 casi d'uso comuni.
Dividi file
L'utilizzo di base di split
consiste nel dividere file di grandi dimensioni in blocchi più piccoli di 1000 righe. Ad esempio, dividi il testo_grande file e verifica l'output con ls:
split large_text
ls
Le ls comando mostra 13 nuovi file, che vanno da xaa a xam . Controlla il conteggio delle righe per ogni file utilizzando wc con il -l
bandiera:
wc -l large_text xa*
Il file di destinazione, testo_grande , è lungo 13000 righe. Il split
comando crea 13 file contenenti 1000 righe ciascuno. Se il conteggio delle righe del file di destinazione non è divisibile per 1000, split
conta 1000 righe per file tranne l'ultima. L'ultimo file ha meno righe.
Ad esempio, un file smaller_text nella directory_piccola ha 12934 righe:
Dividi testo_più piccolo e usa ls
per confermare l'esito:
split smaller_text
ls
Una volta che il file di destinazione è stato diviso, esegui wc -l
ancora:
wc -l smaller_text xa*
L'output mostra che l'ultimo file ha 934 righe, a differenza degli altri 12, che hanno 1000 righe ciascuno.
Utilizza l'opzione dettagliata
Il split
il comando non stampa alcun output. Usa --verbose
per monitorare come split
lavori. Esecuzione di split
con --verbose
mostra maggiori dettagli:
split large_ text --verbose
Imposta il numero di righe per file
Per ignorare la regola predefinita delle 1000 righe, utilizza il -l
segnala con split
. Il split -l
Il comando consente agli utenti di impostare il numero di righe per file.
Ad esempio, esegui split -l2500
per creare file contenenti 2500 righe ciascuno e controllare il conteggio delle righe con wc
:
split -l2500 large_text
wc -l large_text xa*
Il comando crea sei nuovi file. File xaa a xae hanno 2500 righe ciascuno, mentre il file xaf dispone di 500 linee, per un totale di 13000.
Il split -l
il comando può anche creare file con meno righe di 1000. Ad esempio, il tiny_text il file ha 2693 righe:
Dividi il testo in file di 500 righe con:
split -l500 tiny_text
Il comando stampa cinque file di 500 righe e un file di 193 righe.
Scegli la dimensione del file
Dividi i file in base alle loro dimensioni con split -b
. Il comando crea file in base al numero (n
) di:
- Byte con
split -bn
. - Kilobyte con
split
-bnK
. - Megabyte con
split -bnM
. - Gigabyte con
split -bnG
.
Ad esempio, crea file da 1500 Kb da large_text con:
split -b1500K large_text --verbose
Il --verbose
l'opzione mostra che split -bnK
creato sei file. Per controllare la dimensione del file, usa wc -c
:
wc -c large_text xa*
L'output mostra che cinque file sono 1 536 000 byte ciascuno e il sesto è lungo 56 957 byte.
Specifica la dimensione massima
Usa -C
per impostare una dimensione massima per file di output. Ad esempio, dividi testo_grande e imposta la dimensione dell'output su 2 MB con:
split large_text -C 2MB
Il wc -c
comando mostra che dividi creato quattro nuovi file e che i primi tre sono di circa 2 MB, mentre il quarto è più piccolo.
Imposta il numero di file di output
Usa -n
con split
per determinare il numero di file di output. Ad esempio, dividi testo_grande in dieci parti con:
split large_text -n 10
Dividi un file alla fine di una riga
Un altro -n
l'utilizzo divide un file alla fine di una riga completa. Per fare ciò, combina -n
con l
. Ad esempio, dividi il file large_text in dieci file terminando con una riga completa con:
split -n l/10 large_text
Il ls
comando mostra dieci file appena creati. Esegui cat
su qualsiasi file per verificare che il file termini su una riga completa:
Mostra solo un file di output specificato
Il split
Il comando, per impostazione predefinita, crea tutti i file necessari per coprire l'intero file di origine. Tuttavia, utilizzando -n
con split
divide un file, ma mostra solo la parte o le parti specificate. Il flag inoltre non crea file di output ma stampa l'output sul terminale.
Ad esempio, dividi tiny_text in 100 parti ma mostra solo la prima con:
split -n 1/100 tiny_text
Il comando stampa il primo file diviso nell'output standard senza creare nuovi file.
Imposta la lunghezza del suffisso
Il split
comando crea file con un suffisso predefinito di due lettere. Modifica la lunghezza aggiungendo il -a
bandiera da dividere. Ad esempio, per rendere il suffisso lungo 3 caratteri, digita:
split -a 3 large_text
Cambia suffisso
Usa split
per creare file con suffissi diversi. Ad esempio, dividi testo_grande in file di 2500 righe con suffissi numerici:
split -l2500 -d large_text
L'output mostra sei file con suffissi numerati creati con -d
bandiera. Il -l2500
flag divide il testo_grande file in sei file da 2500 righe.
Cambia prefisso
Il split
comando crea anche file di output con prefissi personalizzabili. La sintassi del comando è:
split [file] [prefix]
Ad esempio, dividi testo_grande in dieci file chiamati part00 a part09 con:
split -d large_text part -n 10
Il prefisso cambia da x a parte e termina con numeri dovuti al -d
bandiera. Il -n
flag divide il file in dieci parti.
Ometti i file con dimensione zero
Quando si dividono i file, alcuni output restituiranno file di dimensioni zero. Per evitare file di output di dimensioni zero, utilizza split
con il -e
bandiera. Ad esempio, dividi gli xaa file dalla tiny_directory in 15 file, con un suffisso numerico, assicurando che i file di dimensione zero vengano omessi:
split -n15 -e -d xaa
Controlla la dimensione del file con wc -c
:
wc -c x0* x1*
Utilizzando x0* e x1* poiché i termini di ricerca garantiscono wc -c
stampa la dimensione di tutti i file nella directory che iniziano con i numeri.
Riconnetti i file divisi
Mentre split
impossibile ricongiungersi ai file, esiste un'opzione alternativa:il comando cat di Linux. Utilizzato per visualizzare il contenuto di diversi file, cat
ricollega anche i file divisi in un nuovo documento completo.
Ad esempio, testo_grande è suddiviso in dieci file:
Tutti i file di output iniziano con x . Applica cat
a tutti gli elementi che iniziano con x per unirli.
Tuttavia, cat
stampa il risultato sullo standard output. Per unire i file in un nuovo file, usa >
con il nuovo nome del file:
cat x* > new_large_text
Esecuzione di wc -c
mostra che testo_grande e nuovo_testo_grande hanno le stesse dimensioni.
Conclusione
Dopo aver letto questo articolo, sai come usare il split
di Linux comando per lavorare con documenti di grandi dimensioni. Successivamente, scopri come copiare e trasferire file in modo sicuro utilizzando il comando SCP.