Rechercher : dans
Par :

Tableau shell avec resultat de grep | awk

Dernière réponse le 21 jan 2009 à 13:14:10 yoopi, le 21 jan 2009 à 11:19:26 
 Signaler ce message aux modérateurs

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

Configuration: Linux
Firefox 3.0.5

Meilleures réponses pour « tableau shell avec resultat de grep | awk » dans :
Comment récupérer le résultat d'une commande dans une variable VoirComment récupérer le résultat d'une commande dans une variable Préambule Syntaxe Exemples Préambule Il est bien souvent nécessaire de récupérer le résultat d'une commande (ou de son code retour) dans une variable afin de pouvoir...
Tri Shell -Recursive- VoirVoici une procédure récursive qui permet de trier un tableau de n entiers en utilisant la méthode de tri Shell : Procedure Tri_Shell_Rec (Var t: TAB; n,h : integer); Var aux,i : integer; begin If h > 0 Then Begin If n > h...
Guide d'utilisation du Shell pour débutant VoirSHELL BASH - GUIDE D'UTILISATION - Niveau Débutant Introduction Appel aux membres CCM II. C'est quoi le shell ? III. Comment accéder à la ligne de commande IV. Les consoles virtuelles Exemple : Accéder à la console 3 depuis l'interface...
Télécharger Online Armor Personal Firewall VoirOnline Armor est un Firewall + un IDS Disponible en français désormais, complet et entièrement gratuit. Un test de performances très intéressant se trouve ici (en anglais) : Lire tout le test Voir le tableau des résultats Online Armor est...
Java - L'API JDBC VoirIntroduction à JDBC La technologie JDBC (Java DataBase Connectivity) est un ensemble de classes permettant de développer des applications capables de se connecter à des serveurs de bases de données (SGBD). L'accès aux bases de données avec...
Linux - Le shell VoirIntroduction au shell L'interpréteur de commandes est l'interface entre l'utilisateur et le système d'exploitation, d'où son nom anglais «shell», qui signifie «coquille». Le shell est ainsi chargé de faire l'intermédiaire le système...
Systèmes UNIX - Le shell VoirIntroduction au shell L'interpréteur de commandes est l'interface entre l'utilisateur et le système d'exploitation, d'où son nom anglais «shell», qui signifie «coquille». Le shell est ainsi chargé de faire l'intermédiaire entre le système...

1

yoopi, le 21 jan 2009 à 11:21:56

J'ai oublié de mentionner que je travaille sous linux en bash et sous solaris 9 en csh

j'espère que qqn pourra m'aider :-)

Répondre à yoopi

2

jipicy, le 21 jan 2009 à 11:50:45
  • +1

Salut,

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]$ 
;-))
$ man woman
Il n'y a pas de page de manuel pour woman.

Répondre à jipicy

3

yoopi, le 21 jan 2009 à 12:05:53

Décidément t'es toujours là où il faut et quand il faut :-)

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

Répondre à yoopi

4

jipicy, le 21 jan 2009 à 12:33:11

que fait : #set -xv ?
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).
$ man woman
Il n'y a pas de page de manuel pour woman.

Répondre à jipicy

5

yoopi, le 21 jan 2009 à 12:35:54

Ok merci

je vais aller manger un morceau

bon app ;-)

Répondre à yoopi

6

 yoopi, le 21 jan 2009 à 13:14:10

Re

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 ???

Répondre à yoopi