On 1/18/2008 8:19 AM, Ed Morton wrote:
>
> On 1/18/2008 3:23 AM, Madhur wrote:
>
>>I would like to know the best way of generating filter of two files
>>based upon the following condition
>>
>>I have two files. Contents of the first file is
>>
>>File 1
>>abc def hij
>>asd sss lmn
>>hig pqr mno
>>
>>
>>File 2
>>
>>jih def asd
>>poi iuu wer
>>wer pqr jjj
>>
>>I would like have the output as
>>Output
>>
>>File1
>>asd sss lmn
>>File2
>>poi iuu wer
>>
>>Basically I want to compare the two files based on second column. If
>>the second
>>column matches on both the files do not print anything, else if there
>>is no matc
>>h in for the second column for first file in second file then print it
>>under Fil
>>e1 header, else if there is no match for the second column for second
>>file in fi
>>rst file print it under File2 header.
>>
>>Thankyou
>>Madhur
>
Sorry, don't know what I was thinking earlier, try this:
awk '
NR==FNR { file2[$2] = $0; next }
$2 in file2 { file1[$2]; next }
{ delete file2[$2] }
END {
print "File1"
for (key in file1)
print file1[key]
print "File2"
for (key in file2)
print file2[key]
}' file2 file1
Ed


|