Vai al contenuto

Videocorso AWK e sed CGFA

Da zero a trasformare, filtrare e riassumere file di testo, CSV e log con due strumenti che ci sono su ogni computer

  • Partenza: Da zero
  • 12 ore con gli esercizi
  • 10 lezioni in 3 livelli
  • 2 lezioni gratis

A chi serve

Principianti assoluti, impiegati e analisti che lavorano con file CSV e log, sistemisti, chi usa già il terminale e vuole diventare molto più veloce

Cosa serve per iniziare

  • Un computer Windows, Mac o Linux
  • Sapere aprire un terminale e muoverti tra le cartelle (se hai fatto il corso Bash e Linux sei a posto)
  • Nessuna esperienza di programmazione: si parte dal primo comando

Cosa installare

GNU awk (gawk) 5.x e GNU sed 4.9Su Linux sono già installati. Su Windows installa Git per Windows (include Git Bash con awk e sed) oppure WSL con Ubuntu. Su Mac c'è già una versione BSD, un po' diversa: per seguire il corso alla lettera installa quelle GNU con brew install gawk gnu-sed e usa i comandi gawk e gsed
Un terminaleLinux: programma Terminale. Windows: Git Bash o WSL. Mac: programma Terminale
Un editor di testoVisual Studio Code (gratuito) per scrivere e salvare file di prova e script

A cosa ti serve

  • Amministrazione di server: analisi di log e controlli automatici
  • Pulizia e trasformazione di file CSV e report senza aprire Excel
  • Lavoro da sistemista, DevOps, supporto tecnico e analista dati
  • Automazione di attività ripetitive negli script Bash e nei processi di build
  • Base per capire Perl, Python e le espressioni regolari

Programma del corso

10 lezioni in 3 livelli. Ogni lezione: video, spiegazione, codice da copiare o provare, esercizio con soluzione e quiz.

Progetto finale: Il rapporto vendite automatico

Scrivi uno script Bash che prende un file CSV di vendite per negozio e produce un rapporto di testo con: il totale generale, il totale per città in ordine decrescente con la percentuale, il negozio migliore e il numero di vendite sopra la media. Il file viene prima ripulito dai ritorni a capo di Windows e dalle righe vuote.

I passi

  1. Crea il file negozi.csv di prova (negozio;citta;reparto;importo)
  2. Pulisci il file con sed: togli i \r e le righe vuote
  3. Con un primo programma AWK calcola il totale generale e la media
  4. Con un secondo AWK somma gli importi per città e calcola la percentuale; ordina con sort
  5. Trova il negozio con l'incasso massimo
  6. Metti tutto in uno script Bash, scrivi il rapporto in un file e prova a lanciarlo ogni notte con cron

Esame e attestato

Alla fine del corso fai l'esame: 15 domande, serve il 75% di risposte giuste. Superato l'esame ottieni l'attestato stampabile con nome, ore, punteggio e un codice di controllo che chiunque può verificare.

Vai all'esame

Glossario di AWK e sed

AWK
Linguaggio per elaborare file di testo diviso in campi (colonne), dal nome dei suoi autori Aho, Weinberger e Kernighan.
sed
"Stream editor": programma che modifica il testo riga per riga, per esempio sostituendo o cancellando.
Campo
Ognuna delle colonne in cui AWK divide una riga: $1, $2, $3...
Separatore
Il carattere che divide i campi di una riga, come la virgola o il punto e virgola.
Pipe
Il simbolo | che passa il risultato di un comando al comando successivo.
Regex
Espressione regolare: un modello che descrive un tipo di testo da cercare.
Array associativo
Un contenitore di AWK in cui ogni valore si trova con una chiave, anche testuale.
Pattern space
La riga che sed sta elaborando in quel momento.
Hold space
L'area di appoggio di sed, dove conservare del testo tra una riga e l'altra.
Gruppo di cattura
Una parte di regex tra parentesi che memorizza il testo trovato, richiamabile con \1, \2...
In place
Modificare il file direttamente invece di mostrare il risultato a schermo (sed -i).
gawk
La versione GNU di AWK, con molte funzioni in più: date, ordinamenti, gruppi catturati.

Le prime 2 lezioni sono gratis

Per il corso completo, scuole e aziende: chiedi le condizioni.