[Risolto]Script-contatore nel ciclo
Inviato: domenica 18 maggio 2014, 11:42
Ciao a tutti, premetto di essere un novizio del mondo linux e quindi della programmazione su esso.
Mi è stato assegnato il compito di creare uno script che legga un primo file di testo(contenente tutti gli alunni della mia stessa scuola) e che salvi in un secondo file di testo alcuni dati quali Numerazione@Clesse-sezione@Cognome@Nome@Codice fiscale, ma sono degli alunni che seguono il corso di informatica e siano del triennio.
Arrivato a questo punto però ho incontrato un problema, il contatore non si incrementa anche se la sintassi è corretta o almeno lo apparentemente... Soluzioni?(incremento riga 25) (output contatore riga 16)
Inoltre il mio professore sostiene che lo script è troppo lungo... non saprei come fare.
Grazie mille in anticipo per l'aiuto.
Qui sotto vi è riportato lo script da me realizzato e sotto di esso un piccolo esempio del documento.
es documento:
0000556,Rossi Luca,Rossi,Luca,(CODICE FISCALE),3IModa,3I INFORMATICA
0000342,Neri Giovanni,Neri,Giovanni,(CODICE FISCALE),2FLuce,2F INFORMATICA
0002506,Rambaldi Mario,Rambaldi,Mario,(CODICE FISCALE),5MRovi,5H MECCANICA
Mi è stato assegnato il compito di creare uno script che legga un primo file di testo(contenente tutti gli alunni della mia stessa scuola) e che salvi in un secondo file di testo alcuni dati quali Numerazione@Clesse-sezione@Cognome@Nome@Codice fiscale, ma sono degli alunni che seguono il corso di informatica e siano del triennio.
Arrivato a questo punto però ho incontrato un problema, il contatore non si incrementa anche se la sintassi è corretta o almeno lo apparentemente... Soluzioni?(incremento riga 25) (output contatore riga 16)
Inoltre il mio professore sostiene che lo script è troppo lungo... non saprei come fare.
Grazie mille in anticipo per l'aiuto.
Qui sotto vi è riportato lo script da me realizzato e sotto di esso un piccolo esempio del documento.
Codice: Seleziona tutto
#! /bin/bash
i=1001
classe=""
echo "Elaborazione in corso..."
cat elenco.csv | grep INFORMATICA | (
while read riga
do
classe=`echo $riga | cut -d"," -f6 | cut -c -1`
if [ ${classe} = "3" ] || [ ${classe} = "4" ] || [ ${classe} = "5" ]
then
(
echo -n "$i@"
rig=$(echo $riga | cut -d"," -f6 | cut -c -2)
echo -n "$rig@"
rig=$(echo $riga | cut -d"," -f3)
echo -n "$rig@"
rig=$(echo $riga | cut -d"," -f4)
echo -n "$rig@"
rig=$(echo $riga | cut -d"," -f5)
echo $rig
i=$(($i+1))
) >> lista.txt
fi
done
echo "Elaborazione terminata! "
)
es documento:
0000556,Rossi Luca,Rossi,Luca,(CODICE FISCALE),3IModa,3I INFORMATICA
0000342,Neri Giovanni,Neri,Giovanni,(CODICE FISCALE),2FLuce,2F INFORMATICA
0002506,Rambaldi Mario,Rambaldi,Mario,(CODICE FISCALE),5MRovi,5H MECCANICA