Sera a tutti,
Ho un grosso file, le presenze dei dipendenti fatte via mail, con dati simili a questo:
codice:
"ENTRATA";"Uno <uno@miosito.it>";"presenze@miosito.it, ss.mm.tt.uu@gmail.com";01/08/2011 8.59; ;"Uno: -IN-
--
Qualora il vostro client di posta elettronica non fosse predisposto per l'invio automatico della ricevuta di avvenuta lettura si prega di inviarne una come normale mail.
Informativa ai sensi del D. Lgs. 196 del 30/06/2003 . Il contenuto di questa e-mail e degli eventuali allegati , deve essere nella disponibilità del solo destinatario. Se ricevete per errore questa e-mail siete pregati di informarci e di provvedere alla rimozione della suddetta e degli eventuali allegati.
Le e-mail in partenza e in arrivo possono essere oggetto di monitoraggio da parte della Ditta per questioni di sicurezza riguardanti la struttura informatica della Ditta stessa.
Chiunque venga in possesso non autorizzato di questa e-mail è obbligato dalla Legge a non leggerne il contenuto, a non copiarla, a non diffonderla e a non usarla.
Per l'esercizio dei diritti di cui all'art. 7 del d.lgs.196/2003 ci si può rivolgere al ""Titolare del trattamento dei dati""
Via posta ordinaria:
Ditta
Via XXX, 999
99999 - Quaela (XX)
Via fax:
+39-999-999999
Via e-mail:
sss.ttt.uuu@gmail.com
"
"USCITA";"Uno <uno@miosito.it>";"presenze@miosito.it, ss.mm.tt.uu@gmail.com";30/07/2011 17.40; ;"Uno: -OUT-
[...]"
--
Sono riuscito con qualche sed a trasformarlo in questo:
codice:
[...]
07/07/2011;08;18;-IN-
06/07/2011;18;39;-OUT-
06/07/2011;17;18;-IN-
06/07/2011;15;18;-OUT-
06/07/2011;13;05;-IN-
06/07/2011;12;40;-OUT-
06/07/2011;11;59;-IN-
06/07/2011;11;40;-OUT-
06/07/2011;08;59;-IN-
05/07/2011;19;59;-OUT-
[...]
E' già un ottimo risultato (good) per me. Importo il file in MsExcel e spostando un pò di celle ottengo tutta una serie di conteggi per la nota ore/ferie/ecc. senza troppi patemi d'animo.
Il top (b2b) però sarebbe riuscire ad automatizzare il 99% del mio lavoro ottenendo un file come questo:
codice:
[...]
05/07/2011;06;42;10;12
06/07/2011;08;59;11;40;11;59;12;40;13;05;15;18;17;18;18;39
07/07/2011;12;40;13;05;15;18;17;18;18;39;19:00
08/07/2011;09;58;12;41;12;58;13;41;14;05;17;18;19;18;19;40
[...]
Un bel csv da importare direttamente nel foglio MsExcel.
Ma un lavoro del genere va ben oltre le mie capacità attuali. Me ne sono andato a spanne e ho capito questo:
Dovrei prendere i primi 10 caratteri e utilizzarli come parametro di riferimento e operare sul risultato del sed
codice:
[...]
06/07/2011;12;40;-OUT-
06/07/2011;11;59;-IN-
06/07/2011;11;40;-OUT-
[...]
con qualcosa del tipo:
se "i primi 10 chr" sono uguali a "06/07/2011"
allora "prendi i chr da 11 a 16" e accodali al nuovo file sulla riga che inizia con "06/07/2011"
Ahimé mi ci sono perso solo a pensarci. >
Chiedo dunque lumi perché non so proprio o, meglio, non ho le capacità per impostare la questione :-\
Grazie mille in anticipo,
C0