Bonjour à tous,
J'ai deux fichiers.
Un premier comme ceci :
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
Et l'autre comme cela :
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
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 : 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
Cela me retourne :
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
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 ?