venerdì 8 agosto 2014

Lubit sale sulla jeep

L'altro giorno c'è stata l'escursione in mountain bike, un percorso di 35 km, lungo la via dei mulini; i paesi coinvolti sono stati: Fagnano Castello, Malvito, Mottafollone e San Sosti. L'evento è stato organizzato dall'Associazione Paeseggiando, di cui la mia amica Marisa Callisto ne è presidente. In questa splendida occasione Lubit ha avuto l'onore di salire sulla Jeep! :))


La splendida cascata del fiume Rosa (San Sosti)


Per finire, la torta :)


Ciao! :)

venerdì 1 agosto 2014

La funzione split() [AWK]

Salve!

Oggi vediamo la funzione split(), che è veramente semplice semplice.

La funzione split() ci dà la possibilità di convertire automaticamente una stringa in un array. Come?

Attraverso la seguente sintassi: 

split(stringa, array, separatore)

il primo parametro è la stringa da suddividere; il secondo è l'array da creare, il terzo è il separatore.

Facciamo qualche esempio:

awk 'BEGIN{split("luigi", array, ""); print array[1]}'

Per farla breve, è come se scrivessi

a[1] = l
a[2] = u
a[3] = i
a[4] = g
a[5] = i

(Il separatore di campo in questo caso è "", cioè nessuno spazio tra i campi.)

Infatti


echo luigi | awk '{split($0,a,"");for (i=1;i<=5;i++) print a[i]}'


Altro esempio. In questo caso il separatore di campo è "-".

echo l-u-i-g-i | awk '{split($0,a,"-");print a[2] a[5]}'


Ancora

echo 12345 | awk '{split($0,a,"");print a[2]+a[3]}'

echo 12345 | awk '{split($0,a,""); for (i in a) sum += a[i]; print sum}'

echo 12345 | awk '{split($0,a,""); for (i=1; i<=5; i++) print a[i]}'


 Semplice, no? ;) In caso di dubbi, non esitate a lasciare un commento.

Vi ricordo che l'indice della rubrica "Un po' di awk" lo trovate qui.

Alla prossima! 

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

martedì 29 luglio 2014

Imparare l'E-book [Cosa stai aspettando?]

Salve!

Oggi nasce una nuova rubrica: "Cosa stai aspettando?"

In questo spazio vi vogliamo parlare, di volta in volta, di piccoli capolavori scritti per lo più da carissimi amici. Si può trattare di E-book, libri cartacei, che abbiano a che fare con GNU/Linux, programmazione, formati liberi, ma anche romanzi, saggi e tutto ciò che riteniamo bello e assolutamente valido, indipendentemente dal fatto che siano gratis o a pagamento.

Oggi vi parliamo di "Imparare l'E-book". Si tratta di "un manuale autoprodotto che non promette la Luna, ma che vi aiuta a capire in quale parte del cielo guardare per vederla..."(Citazione di Flaminia, una delle autrici).


È un manuale che vi insegna a capire le differenze tra "formati proprietari" e "formati standard", a vedere cosa c'è dentro un file epub, ma anche a capire quale dispositivo sia meglio usare per "leggere un e-book" e dove trovare e scaricare e-book gratuiti per iniziare a prendere confidenza con questa splendida opportunità del mondo ICT.

Il manuale delle care amiche Flaminia Mancinelli e Marinella Zetti lo potete trovare in vari formati (epub, mobi e pdf) sul seguente sito  http://www.nidodellafenice.it/e-book/catalogo-nido-della-fenice/imparare-l-e-book-detail  oppure sui principali Bookshop online (da Amazon a Ultimabooks, passando per iTunes o IBS).

Buona lettura! Alla prossima :)