Tableau shell avec resultat de grep | awk
Résolu
yoopi
-
Youssef -
Youssef -
Bonjour,
après avoir executé un grep 'qqch' nomdefichier | awk -F" : " '{ print $2 }'
j'obtiens une liste telle que
23654
12345
98765
25634
48569
75235
55992
21456
12458
...
il y a une vingtaine de ligne
je voudrais mettre ces données dans un tableau afin de pouvoir les comparer par la suite avec les résultats de la meme commande mais dans un autre fichier afin de savoir si ils y a des numeros qui manquent ou pas
la première ligne est créée automatiquement (ce sont des numeros d identidiant de personnes qui se connectent) et la 2e liste est la liste complète des identifiants existant dans un fichier
après avoir executé un grep 'qqch' nomdefichier | awk -F" : " '{ print $2 }'
j'obtiens une liste telle que
23654
12345
98765
25634
48569
75235
55992
21456
12458
...
il y a une vingtaine de ligne
je voudrais mettre ces données dans un tableau afin de pouvoir les comparer par la suite avec les résultats de la meme commande mais dans un autre fichier afin de savoir si ils y a des numeros qui manquent ou pas
la première ligne est créée automatiquement (ce sont des numeros d identidiant de personnes qui se connectent) et la 2e liste est la liste complète des identifiants existant dans un fichier
A voir également:
- Tableau shell avec resultat de grep | awk
- Tableau word - Guide
- Classic shell - Télécharger - Personnalisation
- Tableau ascii - Guide
- Trier un tableau excel - Guide
- Tableau croisé dynamique - Guide
2 réponses
Salut,
Une façon de faire en bash :
Une façon de faire en bash :
[tmpfs]$ cat toto
23654
12345
98765
25634
48569
75235
55992
21456
12458
[tmpfs]$ cat bar.sh
#! /bin/sh
#set -xv
IFS=$'\n'
tab=( $( cat toto ) )
i=0
while [ "$i" -lt "${#tab[*]}" ]
do
echo "Element $((i+1)) du tableau : ${tab[$i]}"
((i++))
done
[tmpfs]$ ./bar.sh
Element 1 du tableau : 23654
Element 2 du tableau : 12345
Element 3 du tableau : 98765
Element 4 du tableau : 25634
Element 5 du tableau : 48569
Element 6 du tableau : 75235
Element 7 du tableau : 55992
Element 8 du tableau : 21456
Element 9 du tableau : 12458
[tmpfs]$ ;-))
merci pour le programme ca à l'air efficace
pourrais-tu éclairer ma lanterne sur un partie du programme svp ?
que fait : #set -xv ?
peux tu commenter : while [ "$i" -lt "${#tab[*]}" ] ?
d'avance merci
En décommentant cette ligne ça permet de déboguer le script et de voir l'interprétation des variables (man bash)
peux tu commenter : while [ "$i" -lt "${#tab[*]}" ] ?
tant que la valeur de "$i" est inférieure (-lt = less than ou plus petit que) au nombre d'éléments du tableau (peut s'écrire aussi "${#tab[@]}". Tout en gardant à l'esprit que la numérotation des tableaux commence à 0 (et non pas à 1).
je vais aller manger un morceau
bon app ;-)
merci encore pour toutes tes explications
une dernière petite question
avec ce tableau comment pourrais-je faire pour comparer chacun des éléments du tableau avec une liste au format :
23564
23548
65423
96587
54869
52146
14547
85692
si je rencontre l'élément de mon tableau dans la liste préétablie alors c'est OK sinon c'est WARNING ???