Il comando di taglio 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 ei dati richiesti possono essere recuperati facilmente usando il comando “cut”. Può anche essere utilizzato per tagliare il testo per delimitatore o carattere o posizione byte. Questo comando ha molte opzioni per tagliare i dati dal testo o dal file in modi diversi. Il modo in cui il comando cut può essere utilizzato con diverse opzioni è mostrato in questo tutorial utilizzando vari esempi.
Sintassi:
Il valore OPTION è obbligatorio da usare per il comando `cut` e il nome FILE è opzionale. Se ometti il nome del file nel comando, verranno presi i dati dall’input standard. Ma se ometti il valore OPTION nel comando cut, verrà generato l’errore.
Opzioni:
Tag opzione | Descrizione |
-b o –byte = LIST | Seleziona i byte specifici. |
-c o –character = LIST | Seleziona i caratteri particolari. |
-d o –delimiter = DELIM | Seleziona il valore DELIM come delimitatore. Per impostazione predefinita, il delimitatore è TAB. |
-f o –fields = LIST | Seleziona i campi specifici |
–complement | Usa per completare l’output |
-s o –only-delimited | Ometti righe che non contengono delimitatore. |
–output-delimiter = STRING | Utilizza il valore STRING come delimitatore di output. |
-z o –zero-terminated | Utilizza NULL come delimitatore di riga. |
Esempio-1 : Cut by bytes
Il seguente comando cut taglierà 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 allo standard input. Premi CTRL + D per uscire dal comando.
Output:
qui, l’input è “Mi piace programmare” e l’output è “simile” in base ai byte menzionati.
Crea un file di testo denominato “productlist.txt” con il seguente contenuto per applicare il comando `cut`. Usa TAB per separare i campi del contenuto del file.
01 Penna $ 2
02 Penna $ 1.5
03 Gomma $ 1
Esegui il comando seguente per recuperare solo ID prodotto. Qui, i byte vengono forniti come intervallo, “1-2 ′ per tagliare i dati.
Risultato:
Esempio-2: Taglia per caratteri
Puoi generare lo stesso output usando l’opzione -c, quelli sono mostrati negli esempi precedenti. Quindi, non c’è nessuna differenza particolare tra l’output di -b e – c opzioni del comando di taglio. Eseguire il comando seguente per mostrare l’uso dell’opzione -c. Qui, 4- viene utilizzato come valore dell’opzione che taglierà dalla posizione 4 a tutti i caratteri rimanenti di ogni riga. Puoi anche utilizzare il segno negativo davanti al valore come -4, quindi verrà tagliato dall’inizio a 4 posizioni.
Risultato:
I primi tre caratteri vengono omessi nell’output.
Esempio-3: taglio per delimitatore e campi
Crea un file CSV denominato “students.csv” con il seguente contenuto per mostrare l’uso del delimitatore.
1002, Micheal, EEE, 3.99
1003, Asraful Haque, BBA, 3.85
1004, Momotaj Khan, inglese, 3.20
Esegui il seguente comando per stampare il nome dello studente e CGPA dal file students.csv. In base al contenuto del file, il 2 ° e il 4 ° campo contengono il nome dello studente e CGPA. Quindi, 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.
Risultato:
Se lo desideri stampa due o più colonne sequenziali di qualsiasi dato tabulare o file CSV, quindi puoi definire i campi come un intervallo. L’intervallo del valore del campo viene utilizzato nel comando seguente. Qui, tutti i campi da 2 a 4 verranno stampati come output.
Risultato:
Esempio-4: Taglia per complemento
L’opzione –complement viene utilizzata per generare l’output opposto del comando . Nel seguente comando, viene utilizzato il file productlist.txt creato nel primo esempio. Qui, l’opzione -f taglierà il primo campo e l’opzione –-complement stamperà gli altri tutti i campi del file omettendo il primo campo.
$ cut –complement -f 1 productlist.txt
Risultato:
Esempio-5: Taglia per delimitatore di output
Questa opzione è usata per generare output usando un particolare delimitatore. Il file students.csv creato in precedenza viene utilizzato nel seguente comando. “,” È il delimitatore predefinito di qualsiasi file CSV. Il seguente comando utilizza “:” come valore delimitatore di output.
$ cut -d “,” -f 1- 3 students.csv –output-delimiter = “:”
Output:
Dopo aver eseguito il comando, il delimitatore di input ‘,’ sarà sostituito dal delimitatore di output ‘:’ e i primi tre campi verranno stampati separando ‘:’.
Esempio 6: utilizzo di cut with comando pipe
Il comando Cut può ricevere input da qualsiasi file o dall’input dell’utente. Ma il testo di input può essere inviato al comando di taglio utilizzando la pipe. Il comando seguente mostra l’uso del comando di taglio con il tubo. Qui, il comando echo sarà il testo di input per il comando di taglio e il comando di taglio taglierà i campi 2 e 3 in base al delimitatore.
Risultato:
Esempio -7: Salva l’output del comando di taglio in un file
Se vuoi puoi anche salvare l’output del comando di taglio in qualsiasi file di testo. Il seguente comando prenderà il contenuto del file students.csv come input, taglierà il 2 ° campo in base al delimitatore e stamperà l’output in un file di testo chiamato ‘student_names.txt’.
Output:
Conclusione:
Gli usi più comuni del comando cut sono tentati di spiegare in questo tutorial utilizzando quanto sopra esempi. Spero che l’uso del comando cut venga cancellato dai lettori dopo aver esercitato gli esempi precedenti.