Scripte pour comparer l'existence d'un mot
GuillaumeNoob
Messages postés
6
Statut
Membre
-
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Voila j'ai deux "2" fichiers textes, donc principale.txt et vérification.txt
Voila mon problème :
Je voudrais en BASH que la comparasion sois faite entre les 2 fichiers et que si le fichier principale.txt renferme un mot présent dans la liste vérification.txt qu'il l'imprime dans un fichier
Exemple :
Principale.txt
allo
maison
pomme
vérification.txt
ananas
bière
allo
Donc, le mot allo devrait être inscrit dans un fichier texte...
Merci a l'avance aux spécialistes qui se donneront la peine de lire le message et d'y répondre!
Voila j'ai deux "2" fichiers textes, donc principale.txt et vérification.txt
Voila mon problème :
Je voudrais en BASH que la comparasion sois faite entre les 2 fichiers et que si le fichier principale.txt renferme un mot présent dans la liste vérification.txt qu'il l'imprime dans un fichier
Exemple :
Principale.txt
allo
maison
pomme
vérification.txt
ananas
bière
allo
Donc, le mot allo devrait être inscrit dans un fichier texte...
Merci a l'avance aux spécialistes qui se donneront la peine de lire le message et d'y répondre!
Configuration: Le mieu serait un truc avec un renvoi a la ligne x si le mot et présent, et un renvoi a la ligne z si il n'y est pas! Linux Fedora Firefox 2.0.0.14
2 réponses
-
Salut,
essaye un truc dans ce style peut être :
for i in `cat Principale.txt` ; do if grep "$i" verification.txt ; then echo "$i" >> compare.txt ; fi ; done
-
Un gros merci cela fonctionne comme je le voulais, mais ais - je une erreur dans celle -c i ? Dernière question promis, après réponse :P
for i in `cat configuration/blackip.txt` ; do if grep -E '(:digit:{1,3}\.){3}:digit:{1,3}'' "$i" logs/clientslog.txt ; then echo "$i" >> compare.txt ; fi ; done
De cette façon cela semble pas fonctionner
-
-
Qu'est-ce que tu cherches à matcher avec '(:digit:{1,3}\.){3}:digit:{1,3}', si tu peux donner des exemples
-
Attention, l'expression réelle de notre ami GuillaumeNoob est plutôt du genre :
([ [:digit:]]{1,3}\.){3}[ [:digit:]]{1,3}'sans les espaces devant le premier crochet ouvrant de chaque expression. C'est un problème dû à la mise en page de la balise code qui interprète les expressions encadrées par des doubles crochets comme des liens interne à CCM ;-((
-