Bonjour à tous,
J'ai deux fichiers.
Un premier comme ceci :
Et l'autre comme cela :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 128up-RA 14-3-3epsilon-RA 14-3-3zeta-RB CG1041-RA
Je veux rechercher toutes les valeurs de mon fichier 1 dans le fichier 2 de façon à recupérer la valeur qui commence par FBtr.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 FBtr0087976 128up-RA,CG8340-RA FBtr0083565 14-3-3epsilon-RA,CG31196-RA FBtr0088412 14-3-3zeta-RB,CG17870-RB FBtr0081734 CG1041-RA FBtr0110774 CG1041-RB,CG1041-RA
Pour cela, j'ai fait :
Cela me retourne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 while read ligne do test=`grep -w $ligne fichier2.txt`; if [ ! -z "$test" ];then echo "$ligne $test" fi done < fichier1.txt
Le problème, c'est que lorsque mon grep retourne plus d'une ligne, je n'ai pas l'affichage de la valeur $ligne dans la première colonne ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 128up-RA FBtr0087976 128up-RA,CG8340-RA 14-3-3epsilon-RA FBtr0083565 14-3-3epsilon-RA,CG31196-RA 14-3-3zeta-RB FBtr0088412 14-3-3zeta-RB,CG17870-RB CG1041-RA FBtr0081734 CG1041-RA FBtr0110774 CG1041-RB,CG1041-RA # je voudrais CG1041-RA FBtr0110774 CG1041-RB,CG1041-RA
Comment puis je faire ?
Partager