Vérifier présence d'une valeur dans un tableau...

Résolu/Fermé
Swiss Knight Messages postés 1956 Date d'inscription samedi 22 novembre 2008 Statut Membre Dernière intervention 27 juillet 2016 - Modifié par Swiss Knight le 10/11/2013 à 20:21
Swiss Knight Messages postés 1956 Date d'inscription samedi 22 novembre 2008 Statut Membre Dernière intervention 27 juillet 2016 - 17 nov. 2013 à 12:46
Salut tout le monde,

J'ai un tableau qui contient des noms de fichiers dans la 1ère colonne et une variable pouvant valoir 00, 10, ou 11 dans la deuxième colonne.

Il se peut que certains noms de fichiers apparaissent à double (voire plus), mais que la valeur de la 2ème colonne change.

Exemple :
$ cat plop

/chemin/fichier_1 00
/chemin/fichier_1 11
/chemin/fichier_1 10
/chemin/fichier_2 11
/chemin/fichier_3 10
/chemin/fichier_4 00
/chemin/fichier_4 11
/chemin/fichier_5 00
/chemin/fichier_5 10
/chemin/fichier_6 00
/chemin/fichier_6 11
/chemin/fichier_7 00
/chemin/fichier_7 11

etc.

La valeur dans la seconde colonne est un vérificateur. Et pour un fichier, cette valeur doit au moins une fois être égale à 11. Si c'est le cas, tant mieux, je n'ai pas besoin de faire autre chose avec ces fichiers. Par contre, si ce n'est pas le cas, il y a un problème que je vais devoir vérifier à la main.
Je souhaite donc extraire le noms de ces fichiers "problématiques" dans un autre fichier.

J'ai près de 2000 entrées dans le fichier plop à vérifier pour savoir si toutes possèdent au moins une fois la valeur 11 dans la seconde colonne.

Dans mon exemple ci-dessus, seuls fichier_3 et fichier_5 posent problème puisqu'il n'ont pas de valeur 11 au moins une fois.
On remarque dans ce cas, que fichier_3 n'apparait qu'une seule fois aussi, ce qui complique un peu la recherche.

J'espère avoir été suffisamment clair :S !

Merci beaucoup.


"Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement." -A. Einsten-
A voir également:

2 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
11 nov. 2013 à 09:02
hello
$ awk '{a[$1]=$1} $2==11 {b[$1]=1} END {for(n in a)if(!b[n])print n}' plop

/chemin/fichier_3
/chemin/fichier_5
$
PS: c'est quoi cette balise <code> qui ajoute des sauts de lignes ?
3
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
11 nov. 2013 à 09:53
Salut,

PS: c'est quoi cette balise <code> qui ajoute des sauts de lignes ?
Un ch'tit bug en instance d'être réglé dès qu'il y aura un dev dans le cockpit ;-\
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
11 nov. 2013 à 10:38
tous les devs sont partis s'occuper des portiques ecotaxe ? ... :-)
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
11 nov. 2013 à 10:55
Si c'est le cas, qu'ils ne s'étonnent pas si on les traite de têt' de gland...(eur) ;-DD
0
Swiss Knight Messages postés 1956 Date d'inscription samedi 22 novembre 2008 Statut Membre Dernière intervention 27 juillet 2016 110
17 nov. 2013 à 12:46
Salut,
ça m'a l'air de fonctionner nickel, merci beaucoup !
0