Comparer éléments tableau avec un fichier sh
Résolu/Fermé
A voir également:
- Comparer éléments tableau avec un fichier sh
- Fichier rar - Guide
- Tableau croisé dynamique - Guide
- Fichier host - Guide
- Fichier iso - Guide
- Comment réduire la taille d'un fichier - Guide
2 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
21 janv. 2009 à 13:37
21 janv. 2009 à 13:37
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;-))
Utilisateur anonyme
22 janv. 2009 à 19:26
22 janv. 2009 à 19:26
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
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
22 janv. 2009 à 20:02
22 janv. 2009 à 20:02
Avec ksh :
$ set -A tableau un deux trois $ echo ${tableau[*]} un deux trois $ echo ${tableau[1]} deux $ echo ${tableau[0]} un $ echo ${#tableau[*]} 3 $;-))
21 janv. 2009 à 13:51
je vais essayer ta boucle magique ;-)
je te tiens au courant
21 janv. 2009 à 17:15
merci et bonne fin de soirée
21 janv. 2009 à 17:16
21 mars 2011 à 21:04
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