osx - Create a new file based on matching between two files -
i having 2 files
first file in format. each line starts unique id (in case p22465)
p22465 db db; ec.31.1.1; annexin (annexin) group. second file in format.each line starts (some number)@entrezgene
309@entrezgene|anxa6_human@swissprot|p08133@swissprot|anxa6:anxa6|67 kda calelectrin 30@entrezgene|thik_human@swissprot|p22465@swissprot|acaa1:acaa1|ec 2.3.1.16 output should
30@entrezgene|thik_human@swissprot|p22465@swissprot|acaa1:acaa1|ec 2.3.1.16 it should match line containing unique id (p22465) in second file , copy whole line new file
using bash:
fgrep -f <(awk '{print $1}' file1) file2 this uses process substitution (<(...)). with:
awk '{print $1}' file1 | fgrep -f - file2 this tells fgrep 'read strings matched standard input' (-f -). i've not verified works, i'd expect so.
you can use grep -f in lieu of fgrep (but mac os x has fgrep).
Comments
Post a Comment