Manipolazione file da shell bash

sort
Questo comando ordina un flusso di testo, o un file, in senso crescente o decrescente, o secondo le diverse interpretazioni o posizioni dei caratteri.

uniq
Questo filtro elimina le righe duplicate di un file che è stato ordinato. È spesso usato in una pipe in coppia con sort.
-c premette ad ogni riga del file di input il numero delle sue occorrenze.

grep
è un comando bash dalla sintassi semplicissima che ci permette di ricercare all’interno dei file la presenza o meno di stringhe di testo, passando tali stringhe come variabili ben definite o come espressioni regolari.
possiamo utilizzare il punto come carattere “jolly”
–v, esegue l’operazione inversa mostrando tutte le righe in cui l’espressione non è presente.
–r estende la ricerca delle occorrenze in modo ricorsivo su tutti i files contenuti nelle sottocartelle in cui eseguiamo il comando. ci restituirà il nome del file in cui questa occorrenza esiste.

awk
Awk suddivide ogni riga dell’input che gli è stato passato in campi. Normalmente, un campo è una stringa di caratteri consecutivi separati da spazi, anche se esistono opzioni per modificare il delimitatore. Awk, quindi, analizza e agisce su ciascun singolo campo. Questo lo rende ideale per trattare file di testo strutturati — in particolare le tabelle — e dati organizzati in spezzoni logici, come righe e colonne.
echo uno due | awk ‘{print $1}’
# uno

echo uno due | awk ‘{print $2}’
# due

awk ‘{print $3}’ $nomefile
# Visualizza allo stdout il campo nr.3 del file $nomefile.

awk ‘{print $1 $5 $6}’ $nomefile
# Visualizza i campi nr.1, 5 e 6 del file $nomefile.

estrae gli indirizzi email
gawk -v RS='[^[:space:][:punct:]]+@[^[:space:][:punct:]]+[.][^[:space:][:punct:]]+’ ‘RT{print RT}’

head
Mostra le prime righe di un file di testo
tail
Mostra le ultime righe di un file di testo
cmp
confronta due file
wc
visualizza numero di righe, parole e caratteri di un file

[0-9a-zA-Z_/./-]+[@]{1}[0-9a-zA-Z_/./-]+