Visit Our UNIX and Linux User Community


Getting Next Best Hit..


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Getting Next Best Hit..
# 1  
Old 04-13-2011
Getting Next Best Hit..

Hi.. I need to get the following output from the input file like this
INPUT
 
GRM1 GRM1 0
GRM1 ABC1 1
GRM1 FEQ1 2
GRM1 SED1 3
ABC2 GRM1 0
ABC2 ABC2 1
ABC2 FEQ1 2
ABC2 BED1 3
SED1 SED1 0
SED1 SED1 1
SED1 SED1 2
SED1 ABC1 3

OUTPUT:
 
GRM1 ABC1 1
ABC2 GRM1 0
SED1 ABC1 3

I need the best result row other than matching to itself.. like (GRM1 GRM1 0) as it is matching to itself i dont need it, i need next one only and ignore other rows in that set.. same as in second set, first row is not with itself so i can take it.. where as in third set, first three rows are matching to itself so i need fourth row..

I wrote a script in perl, its ignoring if it matches to itself but giving all other rows..

---------- Post updated at 11:04 PM ---------- Previous update was at 05:59 PM ----------

Any help please
# 2  
Old 04-13-2011
I have a solution in awk:
Code:
awk 'V&&V!=$1{print vval;V=x} $1!=$2&&!V||$3<B{B=$3;V=$1; vval=$0} END{print vval}'


Last edited by Chubler_XL; 04-13-2011 at 03:27 AM..
# 3  
Old 04-13-2011
I am actually new to awk, I have two questions
Where can i provide input file name?
In the example i gave per set 4 rows are there but i have 5 rows per set in my original file, will it work for that also?
# 4  
Old 04-13-2011
You can specify the filename at end of command line like this:
Code:
awk 'V&V!=.......' infile > outfile


Last edited by Neo; 04-13-2011 at 04:58 AM.. Reason: fixed code tag
# 5  
Old 04-13-2011
Worked Great!!! Thank you so much
# 6  
Old 04-13-2011
Chubler do you mind explaining the awk ?

Code:
awk 'V&&V!=$1{print vval;V=x} $1!=$2&&!V||$3<B{B=$3;V=$1; vval=$0} END{print vval}'

# 7  
Old 04-13-2011
Code:
awk '$1!=$2&&++A[$1]==1' infile

---------- Post updated at 11:14 PM ---------- Previous update was at 11:13 PM ----------

Code:
$ cat tst
GRM1 GRM1 0
GRM1 ABC1 1
GRM1 FEQ1 2
GRM1 SED1 3
ABC2 GRM1 0
ABC2 ABC2 1
ABC2 FEQ1 2
ABC2 BED1 3
SED1 SED1 0
SED1 SED1 1
SED1 SED1 2
SED1 ABC1 3

Code:
$ awk '$1!=$2&&++c[$1]==1' tst
GRM1 ABC1 1
ABC2 GRM1 0
SED1 ABC1 3

This User Gave Thanks to ctsgnb For This Post:

Previous Thread | Next Thread
Test Your Knowledge in Computers #380
Difficulty: Medium
Apple's macOS (previously known as Mac OS X or OS X) is a UNIX 03 registered product.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Curl to hit the submit button

Hello, I am looking to hit a URL using curl and click on submit button so that I can get the results. The below is the code <input name="tos_accepted" id="tos_accepted" class="button" type="submit" value="Yes, I Agree"/> <input name="tos_discarded" id="tos_discarded"... (1 Reply)
Discussion started by: Kochappa
1 Replies

2. Shell Programming and Scripting

How to grep and print the next and previous N lines after the hit

Hello, I know that gnu grep has option of -A and -B to extra previous and next lines. But I'm using HP UX and its grep does not support these options. BID="0/0/6/1/1.145.17.255.0.0.0" I need to search a file using $BID and get next 5 lines and previous 5 lines separately. Please... (1 Reply)
Discussion started by: reddyr
1 Replies

3. Cybersecurity

vnc password hit from Retina

Hello, I'm having an issue with VNC. Security at work says that they scanned my servers (Solaris, RHEL, SLES) and found that you don't need a password to access a VNC session. I have tested this and you can't login to the VNC session without a password. Can someone tell what the Retina scanner... (1 Reply)
Discussion started by: bitlord
1 Replies

4. SuSE

Java hit

Hello, I'm having trouble looking for info for SUSIE on this CVE-2012-4681. This is basically the newest Java hit. It is mostly a web browser issue but I would like to see if the versions on our servers are vulnerable. I already found the pages/info for Solaris and RHEL. Any help would be... (4 Replies)
Discussion started by: bitlord
4 Replies

5. Shell Programming and Scripting

Hit count on a shell script

I have a unix shell script (ex.sh) written. How to find out how many users (incl. myself) have run this .sh ? I can insert code snipet at top of script if need be. - Ravi (2 Replies)
Discussion started by: ravi368
2 Replies

6. Programming

why multiple SIGINT raises when i hit C-c

hi, in my application, i have set up to capture SIGINT and execute a handler.the problem is whenever i hit C-c, multiple SIGINT are sent to the application.I have blocked the SIGINT right after catching the first one but it is unsuccessful.Here is what i do : jmp_buf main_loop; int... (1 Reply)
Discussion started by: Sedighzadeh
1 Replies

7. Shell Programming and Scripting

Shell Script to hit a url

Hi all, I have a php file that grabs xml, parses it and updates my db accordingly. I want to automate the execution of this process, rather than having to hit the url manually. I have been looking into using cron to execute a script to do this, however i'm not exactly sure what command i would... (1 Reply)
Discussion started by: restivz77
1 Replies

8. Filesystems, Disks and Memory

Performance Hit With Many Files

Is it slower to open or create a file in a directory with 1 million files than a directory with 1000 files? How much slower? Where can I find information about this? I'm mainly concerned about JFS on AIX, but also NTFS on Windows Server. Is there a difference? I'm trying to determine a good... (6 Replies)
Discussion started by: cyner
6 Replies

9. UNIX for Dummies Questions & Answers

Write catch hit ratio

Dear friends, Does any one know about alert "write catch hit ratio" on Solaris 9? How to avoid???? (0 Replies)
Discussion started by: solaris5.10
0 Replies

10. UNIX for Dummies Questions & Answers

Anyone else see a performance hit from ext3

I reinstalled my Linux box with RedHat 7.2 and used the ext3 journaling file system. This thing is a pig now. There isn't much running on the box, and performance is sad. (1 Reply)
Discussion started by: 98_1LE
1 Replies

Featured Tech Videos