Ricerca nel sito web

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

📋
1 carattere=1 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.

📋
Il flag --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:

  1. Salva l'output del comando cut reindirizzandolo su un file.

  2. Come si stampano i primi 5 caratteri del file utilizzando il comando cut?

  3. Stampa tutto ignorando il seguente intervallo di caratteri: 2-6, 10, 12-15.

  4. 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:

Articoli correlati: