Taglia esempi di comandi in Linux
Il comando Taglia consente di estrarre una parte del file da stampare senza intaccare il file originale. Scopri di più qui.
Il comando cut viene utilizzato per tagliare una parte specifica di un file e stamparla sull'output standard senza modificare il file effettivo.
In altre parole, puoi estrarre un numero specifico di parole o caratteri da un file utilizzando il comando cut.
Non preoccuparti, ti spiego gli elementi essenziali per aiutarti a saperne di più:
La sintassi di base del comando
-
Esempi pratici di utilizzo del comando taglia
Domande pratiche per il comando di taglio
Quindi iniziamo.
Ecco come utilizzare il comando taglia
Per utilizzare il comando cut è importante conoscere la sintassi.
Quindi ecco la sintassi di base che devi seguire per utilizzare il comando cut:
cut [option] <Filename or path to file>
Qui,
[opzione]
: viene utilizzato per modificare il comportamento predefinito del comando di taglio.Nome file
: è dove aggiungi il nome del file o il percorso del file per lavorare con il comando cut.
Se sei curioso, ecco un elenco delle opzioni più utilizzate con il comando cut:
-d
Imposta il delimitatore del campo (l'impostazione predefinita è tab).
-f
-
Specifica quali campi estrarre (ad esempio,
-f 2
per il secondo campo). -b
Taglia byte specifici o intervalli di byte.
-c
Taglia caratteri o intervalli di caratteri specifici.
-s
Stampa solo le righe contenenti delimitatori (per impostazione predefinita stampa le righe vuote).
--complement
Taglia tutto tranne i byte, i caratteri o i campi specificati.
Per mantenere il tutorial facile da seguire, utilizzerò un file di testo denominato Haruki.txt
in tutti gli esempi, che contiene il seguente contenuto:
Book_Name Year
Hear the Wind Sing (A Wild Sheep Chase) (1973)
Pinball, (1973)
Norwegian Wood (1987)
A Walk to the Bakery (1982)
Hard-Boiled Wonderland and the End of the World (1985)
The Wind-Up Bird Chronicle (1994-1995)
Sputnik Sweetheart (1999)
Kafka on the Shore (2002)
After Dark (2004)
1Q84 (2009-2010)
Colorless Tsukuru Tazaki and His Years of Pilgrimage (2013)
Killing Commendatore (2017)
First Person Singular (2020)
Ora diamo un'occhiata ad alcuni esempi di utilizzo del comando cut in Linux.
1. Tagliato in byte
Il modo più semplice per tagliare i caratteri utilizzando il comando cut è specificare il byte di spazio in memoria occupato da un testo e tagliare la parte desiderata del file.
Per tagliare in byte, puoi utilizzare il flag -b
e quindi specificare la posizione in termini di termini di indicizzazione:
cut -b <nth byte> Filename
Ad esempio, se voglio tagliare il quinto carattere, utilizza quanto segue:
cut -b 5 Haruki.txt
In termini semplici, utilizzare i byte come numero di indice. Diciamo che desideri tagliare il settimo carattere, quindi specifichi 7
insieme al flag -b
.
Taglia più caratteri da ciascuna riga
Puoi tagliare più caratteri da ciascuna riga utilizzando il flag -b
, dove specifichi più byte separati da virgole.
Ad esempio, se voglio tagliare il terzo, il sesto e il settimo carattere da ogni riga, utilizzerò quanto segue:
cut -b 3,6,7 Haruki.txt
Taglia una serie di caratteri
Con il comando taglia puoi anche specificare l'intervallo dei caratteri che devono essere tagliati.
Ad esempio, se desidero tagliare dal terzo al settimo carattere, utilizzerò quanto segue:
cut -b 3-7 Haruki.txt
Taglia tutto tranne i byte specifici
Puoi usare il flag --complement
per tagliare tutto ma non i byte specifici con cui puoi ignorare i byte specificati e stampare tutto il resto.
Per utilizzare il flag --complement
, dovresti seguire la sintassi fornita:
cut -b <bytes> --complement Filename
Diciamo che voglio ignorare i primi cinque byte, quindi userò quanto segue:
cut -b 1-5 --complement Haruki.txt
Specificare il punto iniziale o finale da tagliare
Utilizzando il comando cut è inoltre possibile specificare il punto iniziale da cui si intende iniziare a tagliare i caratteri oppure il punto finale in cui fermarsi.
Per specificare il punto iniziale, usi n-
dove n
è il numero da cui vuoi iniziare a tagliare i caratteri fino alla fine della riga:
cut -b n- Filename
Ad esempio, se desidero tagliare dal quinto carattere fino alla fine della riga, utilizzerò quanto segue:
cut -b 5- Haruki.txt
Per specificare il punto finale, usi -n
(nota il trattino prima di n) dove n
è l'ultimo carattere che indica la linea di confine da tagliare :
cut -b -n Filename
Ad esempio, se voglio tagliare fino al settimo carattere, utilizzerò quanto segue:
cut -b -7 Haruki.txt
Lettura consigliata 📖
2. Taglia per caratteri
È esattamente come l'opzione byte ma in questo caso utilizza l'indicizzazione dei caratteri anziché l'indicizzazione dei byte, il che è utile, soprattutto nei casi in cui un singolo carattere utilizza più byte.
Ad esempio, se voglio tagliare i primi cinque caratteri, utilizzerò il flag -c
nel modo seguente:
cut -c 5 Haruki.txt
Puoi anche specificare l'intervallo dei caratteri utilizzando il flag -c
. Diciamo che vorrei tagliare dal settimo al decimo carattere, quindi utilizzerò quanto segue:
cut -c 7-10 Haruki.txt
Inoltre, puoi anche tagliare specificando l'inizio e il punto finale come ho spiegato prima. Ecco come taglierò fino al decimo carattere usando il flag -c
:
cut -c -10 Haruki.txt
Puoi anche specificare quali caratteri ignorare e stampare tutto il resto utilizzando il flag --complement
.
Ad esempio, qui, ho stampato tutto ignorando il 10°-15° carattere:
3. Tagliato dai campi
Per impostazione predefinita, quando desideri tagliare per campo, verrà utilizzato uno spazio di tabulazione come delimitatore. Sicuramente puoi usare un delimitatore diverso, che menzionerò anche.
Per tagliare il campo, usa il flag -f
come mostrato qui:
cut -f <number of fields> Filename
Ad esempio, se desidero tagliare 1 campo, utilizzerò quanto segue:
cut -f 1 Haruki.txt
Per modificare il delimitatore, devi utilizzare il flag -d
seguito dal delimitatore che desideri utilizzare:
cut -d "delimiter" -f <number of fields> Filename
Ad esempio, qui ho utilizzato a
come carattere, quindi verrà stampato finché non apparirà il carattere a
nella riga:
cut -d "a" -f 1 Haruki.txt
4. Concatena l'output utilizzando il delimitatore
Quando usi un delimitatore, concatena l'output senza utilizzare un delimitatore, quindi finisci per avere l'output separato dallo spazio.
Puoi modificare questo comportamento utilizzando il flag --output-delimite
.
--output-delimite
funzionerà solo quando l'output è diviso in due o più colonne.Per utilizzare il flag --output-delimite
, utilizza la seguente sintassi:
cut <options for cutting file> --output-delimite=delimiter Filename
Ad esempio, qui, ho utilizzato il flag -c
per tagliare diverse parti del file e quindi ho utilizzato il flag --output-delimite
per concatenare l'output con il @:
cut -c 1-5,9,11-14 --output-delimiter=@ Haruki.txt
Hai visto che? Per prima cosa ho usato il flag -c
per stampare i caratteri da 1 a 5, poi il 9 e poi dall'11 al 14, e poi ho unito l'intero output con @
.
Domande pratiche 🗒️
In questa sezione, condivido alcune domande pratiche che puoi utilizzare per migliorare l'utilizzo del comando cut:
Salva l'output del comando cut reindirizzandolo su un file.
Come si stampano i primi 5 caratteri del file utilizzando il comando cut?
Stampa tutto ignorando il seguente intervallo di caratteri: 2-6, 10, 12-15.
Utilizza
e
come delimitatore e dividi il file in 2 parti.
Avvolgendo
Questo tutorial ha illustrato le nozioni di base sull'utilizzo del comando cut, inclusa la sintassi, esempi pratici e domande pratiche. Puoi esplorare altri esempi nel nostro post sul blog su Linux Handbook:
Se stai iniziando, potresti fare riferimento alla nostra guida ai comandi Linux per principianti: