I am trying to compare two files and output a file which consists of common names for both.
File1
1990.A.BHT.s_fil 4.70 
1991.H.BHT.s_fil 2.34 
1992.O.BHT.s_fil 3.67 
1993.C.BHT.s_fil -1.50
1994.I.BHT.s_fil -3.29 
1995.K.BHT.s_fil -4.01
File2
1990.A.BHT_ScS.dat 1537  -2.21
1993.C.BHT_ScS.dat 1494  1.13
1994.I.BHT_ScS.dat 1545  0.15
1995.K.BHT_ScS.dat 1624  1.15 
I want to compare the first parts of the names ** (ex:1990.A.BHT ) ** on both files and output a file which has common names with the values on 2nd column in file1 to file3
ex: file3 (output)
1990.A.BHT.s_fil 4.70 
1993.C.BHT.s_fil -1.50
1994.I.BHT.s_fil -3.29
1995.K.BHT.s_fil -4.01
I used following codes which uses grep command
while read line 
do
grep $line file1 >> file3
done < file2
and
grep -wf file1 file2 > file3 
I sort the files before using this script.
But I get an empty file3. Can someone help me with this please?
                        
You need to remove everything starting from
_SCS.datfrom the lines infile2. Then you can use that as a pattern to match lines in file1.The
-Foption matches fixed strings rather than treating them as regular expressions.