awk '{ print $2 }' file.txt
# stampa il secondo campo di dati spaziati
# da uno spazio generico, mooolto utile! awk -F "#" '{print $1 $NF}' file.txt
# le colonne vengono divise dal separatore "#"
# e viene stampata la prima colonna, e l'ultima
# colonna awk -F "." '{print $NF "," $(NF-1)}' file.txt
# le colonne vengono
# divise dal separatore "." e viene stampata l'ultima colonna, e
# la penultima colonna, spaziati da una virgola awk '{ sub("\r$", ""); print }' windows.txt > unix.txt
# To
# convert a Windows file to a UNIX file, enter the following
# command awk 'sub("$", "\r")' uniz.txt > windows.txt
# To convert a UNIX
# text file called "unix.txt" to a Windows text file called
# "windows.txt", enter the following command awk 'FNR == 2 {print}' file.txt
# stampa la seconda riga awk 'FNR == 5 {print $3}' file.txt
# stampa il terzo campo della quinta
# riga awk '$7=="\$7.30" { print $3 }' file.txt
# stampa il terzo campo di ogni riga se il settimo campo e'
# uguale alla stringa "$7.30", da notare l'escape del carattere
# dollaro.
# Quello introdotto prima delle graffe e' il blocco condizione awk '/30/ { print $3 }' table1.txt
# stampa il terzo campo di ogni riga contenente la stringa "30",
# in questo caso il blocco condizionale contiene una regex awk '{ sum=0; for (col=1; col<=NF; col++) sum += $col; print sum; }'
# stampa la somma di ogni elemento per ogni rigaPer scrivere uno script awk in un file separato possiamo chiamare lo script "nome.awk" e inserire come prima riga all'interno del file. Un esempio di script puo' essere:
#!/usr/bin/awk -f
BEGIN { FS=":" }
#search for username: aaronkilik and print account details
/aaronkilik/ { print "Username :",$1,"User ID :",$3,"User GID :",$4 }Una domanda comune ai colloqui di lavoro per amministratori di sistema, e' come eliminare le linee duplicate all'interno di un file, questo e' fattibile in awk con una sola istruzione:
awk '!seen[$0]++' <filename>awk '{if(gsub(/##+/,"")){name=$0;}else{print > name".md"}}' file
# questo spezza un grande file markdown in piu' file relativi alle
# diverse sezioni