Bonjour,

Je sollicite votre aide car je ne trouve pas de solution à mon problème.

J'ai un fichier csv qui contient les données suivantes:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
20062012;0810
20062012;1812
21062012;0836
21062012;2035
Qui correspondent à date;heure

Je souhaite comparer la premier valeur de la ligne i avec la premier valeur de la ligne i+1 de mon csv.
Si elles sont identiques, stocker dans un fichier "ligne_i-valeur_1;ligne_i-valeur_2;ligne_i+1-valeur2"

Voici mon code, je passe en paramètre ($1) le nom de mon fichier csv

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
# !/bin/bash
 
for line in `cat $1`
do
        if [ `echo $line | awk -F";" '{ print $1 }'` = `echo $(( line+1 )) | awk -F";" '{ print $1 }'` ]; then
 
        DATE=`echo $line | awk -F";" '{ print $1 }'`
        DEBUT=`echo $line | awk -F";" '{ print $2 }'`
        FIN=`echo $(( line+1 )) | awk -F";" '{ print $2 }'`
 
        echo "$DATE;$DEBUT;$FIN" >> ok.txt
        fi
done
J'obtiens le retour suivant

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
/test.sh: line 7: 20062012;0810: syntax error: invalid arithmetic operator (error token is ";0810")
./test.sh: line 7: [: 20062012: unary operator expected
./test.sh: line 7: 20062012;1812: syntax error: invalid arithmetic operator (error token is ";1812")
./test.sh: line 7: [: 20062012: unary operator expected
./test.sh: line 7: 21062012;0836: syntax error: invalid arithmetic operator (error token is ";0836")
./test.sh: line 7: [: 21062012: unary operator expected
./test.sh: line 7: 21062012;2035: syntax error: invalid arithmetic operator (error token is ";2035")
./test.sh: line 7: [: 21062012: unary operator expected
J'en déduis donc qu'il essaye d'ajouter 1 à l'heure mais j'ai du mal à comprendre pourquoi.

Merci d'avance