[bglug] ordinamento per data

Danilo Piazzalunga danilopiazza@libero.it
Gio 21 Apr 2005 00:14:20 CEST


On Wednesday 20 April 2005 23:40, fralonga wrote:
> qualcuno mi sa dire come si pu effettuare l'ordinamento di una serie di
> righe che iniziano tutte con la data del tipo gg/mm/aa?

Dovrebbe essere sufficiente sort: imposti "/" come separatore dei campi e gli 
chiedi di ordinare in base ai campi 3,2,1 (anno, mese, giorno). Vedi le 
opzioni di sort.

> Immagino che ci sia un comando che possa trasformare le date in numeri
> seriali, per poi effettuare, dopo l'ordinamento "sort", il passaggio
> inverso

Se proprio vuoi trasformare una data da gg/mm/aa in (es.) AAAA-MM-GG, puoi 
usare le regexp con sed (o perl). Prova qualcosa di simile a questi semplici 
e leggibili comandi ;-)

sed 's/\([0-9]\{1,2\}\)\/\([0-9]\{1,2\}\)\/\([0-9]\{2,4\}\)/\3-\2-\1/'

oppure

sed -re 's=([0-9]{1,2})/([0-9]{1,2})/([0-9]{2,4})=\3-\2-\1='

Have fun,
Danilo


Maggiori informazioni sulla lista bglug