L'esercizio di oggi consiste in questo: Dato un file di testo, dobbiamo creare uno script che calcoli il numero di ciascuna vocale. Ho provato con bash, awk e Python.
Partiamo da questo file di testo (file.txt)
Python
#!/usr/bin/python
# -*- coding: utf-8 -*-
var = open("file.txt").read().lower()
vocali="aeiou"
for v in vocali:
print v, ": ", var.count(v)
Awk
#!/usr/bin/awk -f
BEGIN{
c=split("aeiou",v,"")
}
{
testo=tolower($0);
for (i=1;i<=c;i++)
print v[i] ": " gsub(v[i],"",testo)
}
Bash
cat file.txt | fold -w1 | tr '[A-Z]' '[a-z]' | grep '[aeiou]' | sort | uniq -c | rev
Oppure, come propone il mio amico Lightuono,
grep -oi '[aeiou]' file.txt | sort | uniq -ic
Indice della rubrica "Brevi Esercizi" qui
Quel comando Bash è troppo lungo :D :D. Meglio usare questo :
RispondiEliminagrep -oi '[aeiou]' file.txt | sort | uniq -ic
;)
Aggiungo la tua proposta nel post :)
RispondiElimina