Il comando di taglio
Il comando cut viene spesso utilizzato per selezionare singole colonne di dati dall'input separate da un singolo carattere, come un file /etc/passwd. Ad esempio, il comando taglia viene utilizzato per estrarre colonne/caratteri specificati da un pezzo di testo, che viene fornito come segue:
- -c :specifica il filtraggio dei caratteri
- -d :specifica il delimitatore per i campi
- -f :specifica il numero del campo
Esempi di comando di taglio
Di seguito sono riportati alcuni esempi che mostrano l'utilizzo del comando taglia:
Esempio 1
Iniziamo con un semplice esempio di estrazione di una specifica colonna dal file /etc/passwd. Poiché i campi del file /etc/passwd sono delimitati dal delimitatore ":(due punti)", utilizzeremo l'opzione "-d:" nel comando.
# cut -d: -f6 /etc/passwd
In questo esempio, -d specifica la variabile delimitatore o separatore, in questo caso due punti, e -f specifica il numero del campo (o colonna), a partire da 1.
Esempio 2
Possiamo anche filtrare più colonne dal file /etc/passwd usando gli indici separati da virgole. Ad esempio:
# cut -d: -f1,3 /etc/passwd
Il display conterrà il nome di accesso e l'ID utente.
Esempio 3
Possiamo anche specificare i numeri di campo con intervalli separati da trattino. Possiamo anche combinare gli indici separati da virgole e gli intervalli separati da trattino per filtrare le colonne. Ad esempio:
# cut -d: -f1,3-4 /etc/passwd
Esempio 4
Possiamo lasciare uno dei numeri fuori da un intervallo, per indicare "fino a" o "da". Ad esempio, per filtrare le colonne "fino a 2", utilizzare il comando seguente:
# cut -d: -f-2 /etc/passwd
Allo stesso modo, per visualizzare i campi da 6 fino alla fine, utilizzare il comando seguente:
# cut -d: -f6- /etc/passwd
Esempio 5
Tuttavia, il taglio non si limita ai dati delimitati. Può anche dividere il numero di caratteri con -c o byte con -b. Questo può essere un modo utile per ottenere solo un certo numero o intervallo di byte per riga. Come mostrato nell'esempio seguente, l'output del comando date viene inviato come input al comando cut e sullo schermo vengono stampati solo i primi tre caratteri, che viene mostrato come segue:
# date | cut -c1-3 Wed
Il comando date senza il comando cut stamperebbe un output come mostrato di seguito:
# date Wed Dec 5 15:24:12 UTC 2018