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