Sponsored Content
Full Discussion: Exact match question
Top Forums UNIX for Dummies Questions & Answers Exact match question Post 302920476 by Akshay Hegde on Thursday 9th of October 2014 02:46:36 PM
Old 10-09-2014
Quote:
Originally Posted by yuejian
Hi Singh,

I tried your code. It only ranks the lines start with "GALGA" in file2. Actually all lines in file2 can have the corresponding mfe value in file1. Could you also take a look again? Thank you.

Yuejian

---------- Post updated at 02:41 PM ---------- Previous update was at 02:30 PM ----------



I am sorry Akshay and Singh, I guess my expression lead you guys misunderstanding, my bad. This is what I meant: if any line in file2 partially match line in file1, list the mfe value in the parenthesis and rank it. So in most situations, the line in file2 has only one partially matched line in file1. However, some line in file2 has multiple partially matched lines in file1, I only need the exact match for mfe value under this multiple partial matching situation. Sorry to make you confused.

Yuejian
Okay try this

Code:
awk '
FNR == NR {
        key[$1]
        next
}
{      
	 $1 = $1
 
	 for(k in key)
         {
		if(match($0,k))
		{
			found = 0
			for(p=1; p<=NF; p++)
			{
				s = $p ; gsub(/\..*/,x,s)
				if(!found &&  s == k)
				{
					found = 1
				}
				if(found && $p ~ /mfe:/)
				{
					key[k]+=$(p+1)
					next
				}					
			}

		}
	 }       
}
END{
	for(k in key)print k,key[k]
}
'  FS='[ |]' f2 f1


Last edited by Akshay Hegde; 10-09-2014 at 04:13 PM.. Reason: Bug fix - need sleep
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to get exact match sentences?

Hi, I have sentences like this: $sent= Protein modeling studies reveal that the RG-rich region is part of a three to four strand antiparallel beta-sheet, which in other RNA binding protein functions as a platform for nucleic acid interactions. Heterogeneous nuclear ribonucleoparticle... (19 Replies)
Discussion started by: vanitham
19 Replies

2. Shell Programming and Scripting

Exact Word Match

I'm trying to find a exact word match but couldn't do it. ABC ABC_NE Searching for ABC_NE tried grep -w </ABC_NE/> grep "^ABC_NE$" but didn't worked , any awk variants would also help. ---------- Post updated at 08:40 AM ---------- Previous update was at 06:48 AM ---------- I... (2 Replies)
Discussion started by: dinjo_jo
2 Replies

3. Shell Programming and Scripting

exact string match ; search and print match

I am trying to match a pattern exactly in a shell script. I have tried two methods awk '/\<mpath${CURR_MP}\>/{print $1 $2}' multipath perl -ne '/\bmpath${CURR_MP}\b/ and print' /var/tmp/multipath Both these methods require that I use the escape character. I am guessing that is why... (8 Replies)
Discussion started by: bash_in_my_head
8 Replies

4. Shell Programming and Scripting

Exact match question

Hi, I have a file like follows . . . White.Jack.is.going.home Black.Jack.is.going.home Red.Jack.is.going.home Jack.is.going.home . . . when I make: cat <file> | grep -w "Jack.is.going.home" it gives: White.Jack.is.going.home Black.Jack.is.going.home Red.Jack.is.going.home... (4 Replies)
Discussion started by: salih81
4 Replies

5. Shell Programming and Scripting

Exact match and #

Hi friends, i am using the following grep command for exact word match: >echo "sachin#tendulkar" | grep -iw "sachin" output: sachin#tendulkar as we can see in the above example that its throwinng the exact match(which is not the case as the keyword is sachin and string is... (6 Replies)
Discussion started by: neelmani
6 Replies

6. Shell Programming and Scripting

Match exact and append zero

file 11 2 12 6 13 7 114 6 011 7 if I'm searching for 11, output needed is output: 11 2 011 7 Code: awk '$1 ~ /^11$/' file I used the above to match exact, but it avoiding "011 7" line too, how to resolve this? (6 Replies)
Discussion started by: Roozo
6 Replies

7. UNIX for Dummies Questions & Answers

Interpolation if there is no exact match for value

Dear all, could you help me with following question. There are two datasets (below). I need to find match between BP values from data1 and data2, and add corresponding CM value from data2 into data1. if there is not exact match, the corresponding CM value should be calculated using interpolation.... (20 Replies)
Discussion started by: kush
20 Replies

8. Shell Programming and Scripting

Grep exact match

Hello! I have 2 files named tacs.tmp and tacDB.txt tacs.tmp looks like this 0 10235647 102700 106800 107200 1105700 tacDB.txt looks like this 100100,Mitsubishi,G410,Handheld,,0,0,0 100200,Siemens,A53,Handheld,,0,0,0 100300,Sony Ericsson,TBD (AAB-1880030-BV),Handheld,,0,0,0... (2 Replies)
Discussion started by: Cludgie
2 Replies

9. Shell Programming and Scripting

Help match the exact string

I just want to match "binutils1_test" only, and print the match line only lyang001@lyang001-OptiPlex-9010:/tmp$ cat file zbinutils1_test bbinutils1_test binutils1_test w-binutils1_test lyang001@lyang001-OptiPlex-9010:/tmp$ cat file |grep -w 'binutils1_test' ... (7 Replies)
Discussion started by: yanglei_fage
7 Replies

10. Shell Programming and Scripting

awk to update file based on partial match in field1 and exact match in field2

I am trying to create a cronjob that will run on startup that will look at a list.txt file to see if there is a later version of a database using database.txt as the source. The matching lines are written to output. $1 in database.txt will be in list.txt as a partial match. $2 of database.txt... (2 Replies)
Discussion started by: cmccabe
2 Replies
fixadd(3alleg4) 						  Allegro manual						   fixadd(3alleg4)

NAME
fixadd - Safe function to add fixed point numbers clamping overflow. Allegro game programming library. SYNOPSIS
#include <allegro.h> fixed fixadd(fixed x, fixed y); DESCRIPTION
Although fixed point numbers can be added with the normal '+' integer operator, that doesn't provide any protection against overflow. If overflow is a problem, you should use this function instead. It is slower than using integer operators, but if an overflow occurs it will set `errno' and clamp the result, rather than just letting it wrap. Example: fixed result; /* This will put 5035 into `result'. */ result = fixadd(itofix(5000), itofix(35)); /* Sets `errno' and puts -32768 into `result'. */ result = fixadd(itofix(-31000), itofix(-3000)); ASSERT(!errno); /* This will fail. */ RETURN VALUE
Returns the clamped result of adding `x' to `y', setting `errno' to ERANGE if there was an overflow. SEE ALSO
fixsub(3alleg4), fixmul(3alleg4), fixdiv(3alleg4) Allegro version 4.4.2 fixadd(3alleg4)
All times are GMT -4. The time now is 01:28 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy