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:
Qui correspondent à date;heure
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 20062012;0810 20062012;1812 21062012;0836 21062012;2035
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
J'obtiens le retour suivant
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'en déduis donc qu'il essaye d'ajouter 1 à l'heure mais j'ai du mal à comprendre pourquoi.
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
Merci d'avance
Partager