Stockage commande grep dans une variable puis affichage
Bonjour à tous,
J'ai deux fichiers.
Un premier comme ceci :
Code:
1 2 3 4
| 128up-RA
14-3-3epsilon-RA
14-3-3zeta-RB
CG1041-RA |
Et l'autre comme cela :
Code:
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 |
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.
Pour cela, j'ai fait :
Code:
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 |
Cela me retourne :
Code:
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 |
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 ...
Comment puis je faire ?