Cosa fa#
Estrae sezioni (colonne) da ogni riga di un file o di un input testuale.
Sintassi#
cut [opzioni] [file]
Comandi essenziali#
| Comando | Flag | Cosa fa |
|---|---|---|
cut -d: -f1 | -d delim, -f field | Estrae la prima colonna usando : come separatore |
cut -d' ' -f2,4 | -d' ' | Estrae la seconda e quarta colonna separate da spazio |
cut -c1-10 | -c characters | Estrae i primi 10 caratteri di ogni riga |
cut -f1-3 | -f range | Estrae un range di colonne dalla 1 alla 3 |
Combinazioni utili#
# Estrae nome utente e UID dal database locale
cat /etc/passwd | cut -d: -f1,3
# Estrae solo il nome del gruppo di un utente specifico da getent
getent group barno | cut -d: -f1
#Esempio concreto
cat /etc/group | grep -i "^barno"
barno:x:1000:
cut -d: -f1,3 /etc/group | grep barno
barno:1000# Bandit 22 — estrae solo l'hash da output di md5sum
# md5sum produce: "hash -" (hash + due spazi + trattino)
echo "I am user bandit23" | md5sum
# output: 8ca319486bfbbc3663ea0fbe81326349 -
echo "I am user bandit23" | md5sum | cut -d ' ' -f 1
# -d ' ' → d = delimiter, usa lo spazio come carattere separatore
# -f 1 → f = field, prendi il primo campo (l'hash)
# output: 8ca319486bfbbc3663ea0fbe81326349Scenario Reale#
Un SOC Analyst riceve un file CSV di log (es. esportazione da un firewall). Per isolare rapidamente solo gli indirizzi IP sorgente (colonna 2) e destinazione (colonna 5), usa cut -d, -f2,5 access.log.
Dove l'ho usato#
- bandit-07 — per filtrare output di file complessi
- bandit-22 — per filtrare output di file complessi
- iam — analisi utenti e gruppi
Note personali#
Ricorda: cut non conta da 0 come gli array in programmazione. La prima colonna è la colonna 1. Se il delimitatore non è specificato, il default è il tab (\t).




