giovedì 31 luglio 2014

Contiamo le vocali [Brevi Esercizi]

Salve!

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

2 commenti:

  1. Quel comando Bash è troppo lungo :D :D. Meglio usare questo :

    grep -oi '[aeiou]' file.txt | sort | uniq -ic

    ;)

    RispondiElimina
  2. Aggiungo la tua proposta nel post :)

    RispondiElimina