Esempi di comandi cut di Linux
Il comando `cut` di Linux è uno dei comandi utili per lavorare con dati di stringa e contenuto di file. Viene utilizzato principalmente per tagliare il contenuto da dati tabulari o file CSV. Ogni riga del file può essere suddivisa in sezioni e i dati richiesti possono essere recuperati facilmente utilizzando il comando "cut". Può anche essere utilizzato per tagliare il testo in base al delimitatore o alla posizione del carattere o del byte. Questo comando ha molte opzioni per tagliare i dati dal testo o dal file in diversi modi. In questo tutorial viene mostrato come utilizzare il comando taglia con diverse opzioni utilizzando vari esempi.
Sintassi:
Il valore OPTION è obbligatorio da utilizzare per il comando "cut" e il nome FILE è facoltativo. Se ometti il nome del file nel comando, prenderà i dati dall'input standard. Ma se ometti il valore OPTION nel comando cut, verrà generato l'errore.
Opzioni:
- -b or –byte=LIST
Seleziona i byte particolari.
- -c or –character=LIST
-
Seleziona i caratteri particolari.
- -d or –delimiter=DELIM
Seleziona il valore DELIM come delimitatore. Per impostazione predefinita il delimitatore è TAB.
- -f or –fields=LIST
Seleziona i campi particolari
- –complement
Utilizzare per integrare l'output
- -s or –only-delimited
Ometti le righe che non contengono delimitatore.
- –output-delimiter=STRING
Utilizza il valore STRINGA come delimitatore di output.
- -z or –zero-terminated
Utilizzare NULL come delimitatore di riga.
Esempio 1: tagliato in byte
Il seguente comando cut suddividerà i dati di input standard in base ai byte definiti. Qui, 3,4,5 e 6 sono definiti come byte. L'output verrà generato in base all'input standard. Premere CTRL+D per uscire dal comando.
Uscita:
Qui, l'input è "Mi piace programmare" e l'output è "mi piace" in base ai byte menzionati.
Crea un file di testo denominato "productlist.txt" con il seguente contenuto per applicare il comando `cut`. Utilizzare TAB per separare i campi del contenuto del file.
01 Pen $2
02 Pencil $1.5
03 Eraser $1
Esegui il comando seguente per recuperare solo l'ID prodotto. Qui, i byte vengono forniti come intervallo, "1-2", per tagliare i dati.
Uscita:
Esempio 2: tagliato per caratteri
Puoi generare lo stesso output utilizzando l'opzione -c, mostrata negli esempi precedenti. Quindi non c'è alcuna differenza particolare tra l'output delle opzioni -b e -c del comando cut. Eseguire il comando seguente per mostrare l'uso dell'opzione -c. Qui, 4- viene utilizzato come valore di opzione che taglierà dalla posizione 4 a tutti i caratteri rimanenti di ciascuna riga. Puoi anche usare il segno negativo davanti al valore come -4, quindi taglierà dall'inizio a 4 posizioni.
Uscita:
I primi tre caratteri vengono omessi nell'output.
Esempio 3: Taglia per delimitatore e campi
Crea un file CSV denominato "students.csv" con i seguenti contenuti per mostrare l'uso del delimitatore.
1002,Micheal,EEE,3.99
1003,Asraful Haque,BBA,3.85
1004,Momotaj Khan,English,3.20
Esegui il comando seguente per stampare il nome dello studente e il CGPA dal file students.csv. In base al contenuto del file, il 2nd e il 4th campi contengono il nome dello studente e CGPA. Pertanto, in questo comando vengono utilizzate due opzioni per mostrare l'output. Uno è il delimitatore, -d, che è "," qui e un altro è l'opzione di campo, -f.
Uscita:
Se desideri stampare due o più colonne sequenziali di qualsiasi dato tabellare o file CSV, puoi definire i campi come intervallo. L'intervallo del valore del campo viene utilizzato nel comando seguente. Qui, tutti i campi da 2 a 4 verranno stampati come output.
Uscita:
Esempio 4: Taglia per complemento
L'opzione –complement viene utilizzata per generare l'output opposto del comando. Nel comando seguente viene utilizzato il file productlist.txt creato nel primo esempio. Qui, l'opzione -f taglierà il campo 1st e l'opzione –-complement stamperà tutti gli altri campi del file omettendo il campo 1st.
$ cut --complement -f 1 productlist.txt
Uscita:
Esempio 5: Taglia in base al delimitatore di output
Questa opzione viene utilizzata per generare output utilizzando un delimitatore particolare. Il file students.csv creato in precedenza viene utilizzato nel comando seguente. "," è il delimitatore predefinito di qualsiasi file CSV. Il comando seguente utilizza ":" come valore delimitatore di output.
$ cut -d "," -f 1-3 students.csv --output-delimiter=":"
Uscita:
Dopo aver eseguito il comando, il delimitatore di input "," verrà sostituito dal delimitatore di output ":" e i primi tre campi verranno stampati separando ":".
Esempio 6: utilizzo del comando Taglia con tubo
Il comando Taglia può ricevere input da qualsiasi file o dall'input dell'utente. Ma il testo di input può essere inviato al comando cut utilizzando la pipe. Il comando seguente mostra l'uso del comando cut con la tubazione. Qui, il comando echo inserirà il testo da inserire nel comando di taglio e il comando di taglio taglierà i campi 2 e 3 in base al delimitatore.
Uscita:
Esempio 7: salva l'output del comando di taglio in un file
Se lo desideri, puoi anche salvare l'output del comando di taglio in qualsiasi file di testo. Il seguente comando prenderà come input il contenuto del file students.csv, taglierà il 2nd campo in base al delimitatore e stamperà l'output in un file di testo denominato 'student_names.txt'.
$ cat students.csv | cut -d cat students.csv | cut -d "," -f 2 > student_name.txt“,”
f 2 > student_name.txt
$ cat student_names.txt
Uscita:
Conclusione:
In questo tutorial si tenta di spiegare gli usi più comuni del comando cut utilizzando gli esempi precedenti. Spero che gli usi del comando cut vengano chiariti ai lettori dopo aver esercitato gli esempi di cui sopra.