Unconfigured Ad

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • akhattri
    Junior Member
    • Mar 2011
    • 8

    awk - need help comparing 2 files

    I have two files for which I want to compare first 2 columns. What I need is if col1 & 2 of file 1 matches col 1 & 2 of file 2, print that line of file 2.

    File 1:
    chr1 1 A
    chr1 2 T
    chr1 3 C

    File 2:
    chr1 2 Y
    chr1 3 R
    chr1 4 Q
    chr2 5 R

    output:
    chr1 4 Q
    chr2 5 R


    I know in awk I can compare the two columns and print the matching lines in output but somehow the intersection does not work. The command that I use is:

    awk 'NR==FNR { a[$1"\t"$2]=$3 } NR>FNR { k=$1"\t"$2; if (k in a) print $0}' file1 file2
  • bioBob
    Member
    • Mar 2011
    • 72

    #2
    I do something like this in an awk script (modified for your scenario--but not tested):

    #!/usr/bin/env gawk
    ###needs file 1 and file 2 as input, keeps from file 2 anything found in file 1
    ###awk -f (this file) file1 file2

    ####change fields to reflect the selection feilds as appropriate
    BEGIN {
    file1 = ARGV[1]
    file2 = ARGV[2]

    delete hash

    while (getline < file1) {
    hash[$1"_"$2] = 1
    }

    while (getline < file2) {
    k=$1"_"$2
    if (k in hash ==1) {
    print $0
    }
    }

    exit (0)
    }

    Comment

    • lh3
      Senior Member
      • Feb 2008
      • 686

      #3
      Code:
      awk 'BEGIN{while((getline<"file1")>0)l[$1","$2]=1}!l[$1","$2]' file2

      Comment

      Latest Articles

      Collapse

      ad_right_rmr

      Collapse

      News

      Collapse

      Topics Statistics Last Post
      Started by SEQadmin2, 06-09-2026, 11:58 AM
      0 responses
      15 views
      0 reactions
      Last Post SEQadmin2  
      Started by SEQadmin2, 06-05-2026, 10:09 AM
      0 responses
      26 views
      0 reactions
      Last Post SEQadmin2  
      Started by SEQadmin2, 06-04-2026, 08:59 AM
      0 responses
      37 views
      0 reactions
      Last Post SEQadmin2  
      Started by SEQadmin2, 06-02-2026, 12:03 PM
      0 responses
      61 views
      0 reactions
      Last Post SEQadmin2  
      Working...