I really don't understand ...
Could you post a bigger samples from the input files and the expected output? Are the in/outofrange n always progressing or they are specific to the combination?
You could start with something like this (use gawk, nawk or /usr/xpg4/bin/awk on Solaris):
Code:
awk 'NR == FNR {
NF != 1 && k = $1
in1[k] = in1[k] ? in1[k] FS $NF : $NF
next
}
$1 in in1 {
n = split(in1[$1], t, "-")
min = t[1]; max = t[n]; split($NF, tt, "-")
tt[1] > tt[2] ? k1 = 2 && k2 = 1 : k1 = 1 && k2 = 2
range = tt[k1] >= min && tt[k2] <= max ? "inrange" : "outofrange"
$0 = $0 "\t\t" range (++r[range])
}1' input*
This is what I get:
Code:
zsh-4.3.10[t]% head -20 in*
==> input1 <==
a a1 5-10
30-40
45-60
80-90
100-120
x a2 10-20
50-60
==> input2 <==
a a1 1-4
a a1 4-1
a a1 120-140
a a1 140-120
a a1 65-69
70-100
a a1 70-65
44-40
a a1 6-7
37-57
63-83
a a1 7-8
zsh-4.3.10[t]% awk 'NR == FNR {
NF != 1 && k = $1
in1[k] = in1[k] ? in1[k] FS $NF : $NF
next
}
$1 in in1 {
n = split(in1[$1], t, "-")
min = t[1]; max = t[n]; split($NF, tt, "-")
tt[1] > tt[2] ? k1 = 2 && k2 = 1 : k1 = 1 && k2 = 2
range = tt[k1] >= min && tt[k2] <= max ? "inrange" : "outofrange"
$0 = $0 "\t\t" range (++r[range])
}1' input*
a a1 1-4 outofrange1
a a1 4-1 outofrange2
a a1 120-140 outofrange3
a a1 140-120 outofrange4
a a1 65-69 inrange1
70-100
a a1 70-65 inrange2
44-40
a a1 6-7 inrange3
37-57
63-83
a a1 7-8 inrange4
i would like to enter (user input) a bunch of numbers seperated by space:
10 15 20 25
and use awk to print out any lines in a file that have matching numbers
so output is:
22 44 66 55 (10) 77 (20)
(numbers 10 and 20 matched for example)
is this possible in awk . im using gawk for... (5 Replies)
I am looking for a better way to match real numbers within a specified tolerance range. My current code is as follows:
if ($1 !~ /^CASE/) for(i=1;i in G;i++) if (G >= $5-1 && G <= $5+1)
{ print $1,$4,$5,J,G }
else { print $1,"NO MATCH" }
where $5 and G are... (3 Replies)
Hello to all,
I hope some awk guru could help me.
I have 2 input files:
File1: Is the complete database
File2: Contains some numbers which I want to compare
File1:
"NUMBERKEY","SERVICENAME","PARAMETERNAME","PARAMETERVALUE","ALTERNATENUMBERKEY"... (9 Replies)
Hi Experts,
I am finding difficulty to get exact match:
file
OPERATING_SYSTEM=HP-UX
LOOPBACK_ADDRESS=127.0.0.1
INTERFACE_NAME="lan3"
IP_ADDRESS="10.53.52.241"
SUBNET_MASK="255.255.255.192"
BROADCAST_ADDRESS=""
INTERFACE_STATE=""
DHCP_ENABLE=0
INTERFACE_NAME="lan3:1"... (6 Replies)
Hi,
I'm trying to match a filename that could be called anything from vout001 to vout252 and was trying to do a small test but I'm not getting the result I thought I would..
Can some one tell me what I'm doing wrong?
*****@********>echo $mynumber ... (4 Replies)
Input: START
OS:: UNIX
Release: xxx
Version: xxx
END
START
OS:: LINUX
Release: xxx
Version: xxx
END
START
OS:: Windows
Release: xxx
Version: xxx
ENDHere i am trying to get all the information between START and END, only if i could match OS Type.
I can get all the data between the... (3 Replies)
In the awk below I am trying to match the value in $4 of file1 with the split value from $4 in file2. I store the value of $4 in file1 in A and the split value (using the _ for the split) in array. I then strore the value in $2 as min, the value in $3 as max, and the value in $1 as chr.
If A is... (6 Replies)
Discussion started by: cmccabe
6 Replies
LEARN ABOUT DEBIAN
grib_get_data
GRIB_GET_DATA(1) User Commands GRIB_GET_DATA(1)NAME
grib_get_data - Print a latitude, longitude, data values list
DESCRIPTION
Print a latitude, longitude, data values list
USAGE
grib_get_data [options] grib_file grib_file ...
OPTIONS -M Multi-grib support off. Turn off support for multiple fields in single grib message
-m missingValue
The missing value is given through this option. Any string is allowed and it is printed in place of the missing values. Default is
to skip the missing values.
-p key[:{s/d/l}],key[:{s/d/l}],...
Declaration of keys to print. For each key a string (key:s) or a double (key:d) or a long (key:l) type can be requested. Default
type is string.
-R out_file_name
Redirect the standard output to "out_file_name". Faster than the shell redirect (>) because buffered.
-F format
C style format for values. Default is "%.10e"
-w key[:{s/d/l}]{=/!=}value,key[:{s/d/l}]{=/!=}value,...
Where clause. Grib messages are processed only if they match all the key/value constraints. A valid constraint is of type
key=value or key!=value. For each key a string (key:s) or a double (key:d) or a long (key:l) type can be specified. Default type is
string.
-f Force. Force the execution not to fail on error.
-G GRIBEX compatibility mode.
-7 Does not fail when the message has wrong length
-V Version.
AUTHOR
This manpage has been autogenerated by Enrico Zini <enrico@debian.org>from the command line help of grib_get_data.
grib_get_data April 2009 GRIB_GET_DATA(1)