Last active
August 29, 2015 14:01
-
-
Save lidio601/c715f9d384c97c867685 to your computer and use it in GitHub Desktop.
Analizza il dettaglio delel chiamate riportate nei file CSV esportati dagli Excel di report forniti dal sito della Vodafone (di qualche anno fa =) )
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# File CSV di esempio | |
# Dettaglio spese relative al Numero di telefono 123456789123 per il periodo dal 04/04/2008 al 03/05/2008 | |
#Altro,,1231***,03/05/2008 15:20:15,00:00:01,0.00000 | |
#Servizi di messaggistica,Voda,1234453***,01/05/2008 19:26:07,,0.15000 | |
#Chiamate voce e video,Voda,1234453***,19/04/2008 17:25:45,00:00:20,0.18340 | |
#Servizi di messaggistica,Voda,1234453***,19/04/2008 09:43:54,,0.15000 | |
# Controlla che ci sia un argomento | |
[ $# -eq 1 ] || { echo >&2 ERRORE: Devi specificare il file delle chiamate!; exit 1; } | |
# Definisce i l file di input delle chiamate, la valuta utilizzata ed inizializza le variabili del caso | |
INPUT_f="$1" | |
VALUTA="euro" | |
let tot=costo_tot=sms_inviati=costo_sms=tel_effettuate=costo_tel=altro=costo_altro=sms_zero=0 | |
# Controlla se il file esiste | |
[ ! -f $1 ] && { echo >&2 ERRORE: il file \'$1\' non esiste; exit 1; } | |
# Inizia il report | |
echo "" | |
echo "---------------------------------------------------------------" | |
echo; echo "Please stand by..." | |
# Calcola il numero e il costo totale delle operazioni | |
for item in `cat $INPUT_f |grep | awk -F, '{print $6}'`; do | |
tot=`expr $tot + 1` | |
costo_tot=`echo "$costo_tot + $item" | bc` | |
done | |
# Calcola il numero e il costo dei messaggi | |
echo -n "." | |
for item in `cat $INPUT_f | grep messaggistica | awk -F, '{print $6}'`; do | |
sms_inviati=`expr $sms_inviati + 1` | |
costo_sms=`echo "$costo_sms + $item" | bc` | |
done | |
# Calcola il numero e il costo delle telefonate | |
echo -n "." | |
for item in `cat $INPUT_f | grep voce | awk -F, '{print $6}'`; do | |
tel_effettuate=`expr $tel_effettuate + 1` | |
costo_tel=`echo "$costo_tel + $item" | bc` | |
done | |
# Calcola il numero e il costo di altre operazioni | |
echo -n "." | |
for item in `cat $INPUT_f | grep -v Messaggi | grep -v Telefonia | awk -F, '{print $6}'`; do | |
altro=`expr $altro + 1` | |
costo_altro=`echo "$costo_altro + $item" | bc` | |
done | |
# Calcola il numero dei messaggi inviati gratuitamente | |
sms_zero=`cat $INPUT_f | grep Messaggi | awk -F, '{print $6}' | grep 0.0 | wc -l` | |
# Termina il report | |
echo; echo "Le operazioni complessive sono state $tot per un costo totale di $costo_tot $VALUTA, cosi' ripartite:" | |
echo "*) gli SMS inviati sono stati $sms_inviati per un costo di $costo_sms $VALUTA ($sms_zero inviati gratuitamente)" | |
echo "*) le telefonate effettuate sono sate $tel_effettuate per un costo di $costo_tel $VALUTA" | |
echo "*) sono presenti altre $altre voci per un costo di $costo_altro $VALUTA" | |
echo "" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment