Comparer éléments tableau avec un fichier sh
Résolu
yoopi
-
noneight -
noneight -
Bonjour,
j'ai un tableau tab[i], je voudrai comparer chaque élément le composant avec une liste d'un fichier toto
cat toto
23568
23548
23569
65248
75896
65423
96584
si l'élément est présent dans ma liste alors c'est OK sinon c'est WARNING
j'ai un tableau tab[i], je voudrai comparer chaque élément le composant avec une liste d'un fichier toto
cat toto
23568
23548
23569
65248
75896
65423
96584
si l'élément est présent dans ma liste alors c'est OK sinon c'est WARNING
A voir également:
- Comparer éléments tableau avec un fichier sh
- Fichier bin - Guide
- Tableau word - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
2 réponses
Re-
[tmpfs]$ cat toto
23654
12345
98765
25634
48569
75235
55992
21456
12458
[tmpfs]$ cat tata
23654
12345
25634
48569
55992
21456
[tmpfs]$ cat bar.sh
#! /bin/sh
#set -xv
IFS=$'\n'
tab=( $( cat toto ) )
for i in ${tab[@]}
do
grep "$i" < tata >/dev/null
if [ "$?" = 1 ]
then
echo "Elément "$i" absent."
fi
done
[tmpfs]$ ./bar.sh
Elément 98765 absent.
Elément 75235 absent.
Elément 12458 absent.
[tmpfs]$Mais bon ce n'était pas la peine de générer un tableau pour ça, une simple boucle comme ça suffisait :while read line do grep "$line" tata >/dev/null if [ "$?" = 1 ] then echo "Elément "$line" absent." fi done < toto;-))
Bonsoir,
Jipicy juste une question ou deux:
suite au poste #1,
la boucle fonctionne parfaitement sachant que je suis sous AIX/ksh, mais pas le tableau
avec le tableau, j'obtiens comme message d'erreur:
./bar.sh[6]: 0403-057 Erreur de syntaxe. ligne 6 : `(' imprévu.
j'ai essayé plusieurs solutions mais en vain ... (changement de shell, #! /bin/sh par #! /bin/ksh, remplacement des parenthèses par des crochets etc ...)
les tableaux et AIX/ksh ne semblent pas faire bon ménage,
il doit y avoir un truc ....
si vous pouviez m'éclairer ...
++
Poulpoul
Bonne soirée
Jipicy juste une question ou deux:
suite au poste #1,
la boucle fonctionne parfaitement sachant que je suis sous AIX/ksh, mais pas le tableau
avec le tableau, j'obtiens comme message d'erreur:
./bar.sh[6]: 0403-057 Erreur de syntaxe. ligne 6 : `(' imprévu.
j'ai essayé plusieurs solutions mais en vain ... (changement de shell, #! /bin/sh par #! /bin/ksh, remplacement des parenthèses par des crochets etc ...)
les tableaux et AIX/ksh ne semblent pas faire bon ménage,
il doit y avoir un truc ....
si vous pouviez m'éclairer ...
++
Poulpoul
Bonne soirée
je vais essayer ta boucle magique ;-)
je te tiens au courant
merci et bonne fin de soirée
Moi je voudrais faire l'inverse. Je voudrais détecter la redondance entre mon tableau et mon fichier.
Je n'y arrive pas... help please.
Merce d'avance