Sponsored Content
Full Discussion: Matching Numbers in Bash/AWK
Top Forums Shell Programming and Scripting Matching Numbers in Bash/AWK Post 302515783 by summer_cherry on Wednesday 20th of April 2011 11:16:38 PM
Old 04-21-2011
how about you try below perl?

Code:
open $fh,"<f1.txt";
while(<$fh>){
	chomp;
	my @arr = split;
	$hash{$arr[2]}->{'SEQ'}=$.;
	$hash{$arr[2]}->{'VAL'}=$_;
	$hash{$arr[2]}->{'GAP'}=10000;
}
open $fh2,"<f2.txt";
while(<$fh2>){
	my @tmp = split;
	foreach my $key(keys %hash){
		my $new_gap = abs($key-$tmp[1]);
		if($new_gap < $hash{$key}->{'GAP'}){
			$hash{$key}->{'GAP'} = $new_gap;
			$hash{$key}->{'APPEND'}=$tmp[1]." ".$tmp[2]." ".$tmp[0];
		}
	}
}
foreach my $key(sort {$hash{$a}->{'SEQ'} <=> $hash{$b}->{'SEQ'}} keys %hash){
	print $hash{$key}->{'VAL'}," ", $hash{$key}->{'APPEND'},"\n";
}

This User Gave Thanks to summer_cherry For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

matching numbers

hi all I have a 2 files. both the files have some numbers and i want to find out each number in file1 is existing or not in file2. if not then put it into new file. if yes then also in a seperate file i can not use diff command as the files are different and no order has been defined. ... (2 Replies)
Discussion started by: infyanurag
2 Replies

2. Shell Programming and Scripting

Matching in bash

I know how to do this in perl, but I want to do it in bash script. Hope some one could help me, many thanks! I have a file looks like this: AB_21423 ********* BC_123 ********* CD_343 ********* AB_289 ********* *************** *************** I... (5 Replies)
Discussion started by: zx1106
5 Replies

3. Shell Programming and Scripting

count numbers of matching rows and replace its value in another file

Hello all, can you help me in this problem, assume We have two txt file (file_1 and file_3) one is file_1 contains the data: a 0 b 1 c 3 a 7 b 4 c 5 b 8 d 6 . . . . and I need to count the lines with the matching data (a,b,..) and print in new file called file_2 such as the... (4 Replies)
Discussion started by: GoldenFalcon10
4 Replies

4. Shell Programming and Scripting

How to find the matching numbers between 2 files Using R language??

Hi friends,, I need ur help very urgently.I have 2 files which have more than 5000 numbers,I want to find the matching numbers between 2 files using R language.I dont know how to use for loop in R.I tried to get a result,,but didnt get, file1 is like 1061909 1162391... (1 Reply)
Discussion started by: sureshraj
1 Replies

5. UNIX for Dummies Questions & Answers

Matching numbers of characters in two lines

Dear all, I'm stuck on a certain problem regarding counting the number of characters in one line and then adjusting the number of characters of another line to this number. This was my original input data: @HWI-ST471_57:1:1:1231:2079/2... (4 Replies)
Discussion started by: DerSeb
4 Replies

6. Shell Programming and Scripting

Regex/egrep matching numbers in brackets

Experts: I don't know that regular expressions will ever be easy for me, so if one of you guru's could help out, I'd appreciate it. I'm trying to match a line in our syslog, but I can't figure out how to match a number inside a bracket. This is what I'm trying to match. "Jul 16 00:01:34... (2 Replies)
Discussion started by: jdveencamp
2 Replies

7. Shell Programming and Scripting

Adding numbers matching with words

Hi All, I have a file which looks like this: abc 1 abc 2 abc 3 abc 4 abc 5 bcd 1 bcd 3 bcd 3 bcd 5 cde 7 This file is just a miniature version of what I really have. Original file is some 1 million lines long. I have tried to come up with the code for what I wish to accomplish... (1 Reply)
Discussion started by: shoaibjameel123
1 Replies

8. Shell Programming and Scripting

Matching and retreiving numbers

Hi, I have one file 1.txt with one field consist of following Ids (shortlisted 10 but showing 3 here): 00052 00184 00607 and then second file 2.txt with three fields (very big file): 00052 00184 12.73062 00052 00598 13.51205 00052 00599 13.92554 00052 00600 13.73358... (2 Replies)
Discussion started by: bioinfo
2 Replies

9. Shell Programming and Scripting

awk decimal point numbers matching

Hi All, Can some one help me in identifying the significance of character "$" ,Which is playing critical role in matching decimal point numbers as below. $ echo "01#.01"|awk '{if ($0 ~ /^+(\.*)?$/) print}' $ echo "01#.01"|awk '{if ($0 ~ /^+(\.*)?/) print}' 01#.01 $ Regards, Rmkganesh. (3 Replies)
Discussion started by: rmkganesh
3 Replies

10. Shell Programming and Scripting

awk to combine all matching dates and remove non-matching

Using the awk below I am able to combine all the matching dates in $1, but I can not seem to remove the non-matching from the file. Thank you :). file 20161109104500.0+0000,x,5631 20161109104500.0+0000,y,2 20161109104500.0+0000,z,2 20161109104500.0+0000,a,4117... (3 Replies)
Discussion started by: cmccabe
3 Replies
IGAWK(1)							 Utility Commands							  IGAWK(1)

NAME
igawk - gawk with include files SYNOPSIS
igawk [ all gawk options ] -f program-file [ -- ] file ... igawk [ all gawk options ] [ -- ] program-text file ... DESCRIPTION
Igawk is a simple shell script that adds the ability to have ``include files'' to gawk(1). AWK programs for igawk are the same as for gawk, except that, in addition, you may have lines like @include getopt.awk in your program to include the file getopt.awk from either the current directory or one of the other directories in the search path. OPTIONS
See gawk(1) for a full description of the AWK language and the options that gawk supports. EXAMPLES
cat << EOF > test.awk @include getopt.awk BEGIN { while (getopt(ARGC, ARGV, "am:q") != -1) ... } EOF igawk -f test.awk SEE ALSO
gawk(1) Effective AWK Programming, Edition 1.0, published by the Free Software Foundation, 1995. AUTHOR
Arnold Robbins (arnold@skeeve.com). Free Software Foundation Nov 3 1999 IGAWK(1)
All times are GMT -4. The time now is 10:19 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy