Sponsored Content
Top Forums Shell Programming and Scripting match range of different numbers by AWK Post 302340234 by repinementer on Monday 3rd of August 2009 05:05:47 AM
Old 08-03-2009
Code:
Now, first of all, which ranges from input1 you want to compare with the ranges in input2 (column 1 or column 2)?

It has to be column2 or 3 because column 1 has keys like X1....X2...
Code:
Now, first of all, which ranges from input1 you want to compare with the ranges in input2 (column 2or column 3)?

Column2
Actually there has to be tab instead of comma in column2. By mistake I forgot to convert comma to tabs
If we do that it column 2 will become column2 and 3
Same thing with input2 commas has to be convert to tabs

Now coming to the main point I would like to compare col2 and col3 of input1 to col2 and col3 of input2

Input1 Has to be like this

Code:
X1	1	2	1	4	+	1,2	0,1
	2	4					
X1	120	130	120	140	+	10,4	0,16
	136	140					
X1	4	3	1	4	-	1,2	0,1
	2	1					
X1	140	130	120	140	-	10,4	0,16
	125	120					
X1	15	20	15	98	+	5,10,4	0,35,79
	50	60					
	94	98					
X1	98	96	15	98	-	5,10,4	0,35,79
	75	45					
	25	15					
X1	1	2	1	36	+	1,2,3	0,1,32
	2	4					
	33	36					
X1	88	84	84	140	-	4,10,4	0,36,52
	130	120					
	140	136					
X1	15	20	15	110	+	5,10,5	0,35,90
	50	60					
	105	110					
X1	98	94	50	98	-	10,4,4	0,34,44
	88	84					
	60	50					
X2	15	20	15	98	+	5,10,4	0,35,79
	50	60					
	94	98					
X2	98	96	15	98	-	5,10,4	0,35,79
	75	45					
	25	15					
X3	1	2	1	4	+	1,2	0,1
	2	4					
X3	120	130	120	140	+	10,4	0,16
	136	140					
X3	4	3	1	4	-	1,2	0,1
	2	1					
X3	140	130	120	140	-	10,4	0,16
	125	120					
X3	15	20	15	98	+	5,10,4	0,35,79
	50	60					
	94	98					
X3	98	96	15	98	-	5,10,4	0,35,79
	75	45					
	25	15					
X3	1	2	1	36	+	1,2,3	0,1,32
	2	4					
	33	36					
X3	88	84	84	140	-	4,10,4	0,36,52
	130	120					
	140	136

Input2 has to be like this

Code:
X1	5	10	5	118	+	5,10,10,18	0,25,75,95
	30	40					
	80	90					
	100	118					
X2	10	20	10	100	+	10,20,20	0,30,70
	40	60					
	80	100					
X3	118	100	5	118	-	5,10,10,18	0,25,75,95
	90	80					
	40	30					
	10	5					
X4	5	10	5	118	+	5,10,10,18	0,25,75,95
	30	40					
	80	90					
	100	118

I just converted commas into tabs. Every thins as same as the last XLS file

---------- Post updated at 01:05 AM ---------- Previous update was at 12:59 AM ----------

If you want to use these numbers copy and paste these in notepad. Dont paste in excel file.

Thanx
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

match numbers (awk)

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)
Discussion started by: tanku
5 Replies

2. Shell Programming and Scripting

Match real numbers in AWK

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)
Discussion started by: cold_Que
3 Replies

3. Shell Programming and Scripting

awk to match a numeric range specified by two columns

Hi Everyone, Here's a snippet of my data: File 1 = testRef2: A1BG - 13208 13284 AAA1 - 34758475 34873943 AAAS - 53701240 53715412File 2 = 42MLN.3.bedS2: 13208 13208 13360 13363 13484 13518 13518My awk script: awk 'NR == FNR{a=$1;next} {$1>=a}{$1<=a}{print... (5 Replies)
Discussion started by: heecha
5 Replies

4. Shell Programming and Scripting

Range of numbers in HEX using AWK

Hi , How do i found out all the number in a range ( HEX) for example Input is 15CF:15D2 Output needed 15CF 15D0 15D1 15D2 Thanks (2 Replies)
Discussion started by: greycells
2 Replies

5. Shell Programming and Scripting

Awk numeric range match only one digit?

Hello, I have a text file with lines that look like this: 1974 12 27 -0.72743 -1.0169 2 1.25029 1974 12 28 -0.4958 -0.72926 2 0.881839 1974 12 29 -0.26331 -0.53426 2 0.595623 1974 12 30 7.71432E-02 -0.71887 3 0.723001 1974 12 31 0.187789 -1.07114 3 1.08748 1975 1 1 0.349933 -1.02217... (2 Replies)
Discussion started by: meridionaljet
2 Replies

6. Shell Programming and Scripting

Complex match of numbers between 2 files awk script

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)
Discussion started by: Ophiuchus
9 Replies

7. Shell Programming and Scripting

awk : match only the pattern string , not letters or numbers after that.

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)
Discussion started by: rveri
6 Replies

8. Shell Programming and Scripting

Match on a range of numbers

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)
Discussion started by: Jazmania
4 Replies

9. Shell Programming and Scripting

Get range out using sed or awk, only if given pattern match

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)
Discussion started by: Dharmaraja
3 Replies

10. Shell Programming and Scripting

awk to print text in field if match and range is met

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
MOTO(9.1)																 MOTO(9.1)

NAME
moto - create animation scripts SYNOPSIS
fb/moto [ -fstart end ] [ -sskip ] [ file [ arg ... ] ] DESCRIPTION
Moto is a command generator tailored for an animator's needs. Its input is a concise description of the animation to be produced; its out- put is a command file suitable for input to rc or some other command interpreter. Its arguments are an optional file name containing a moto program (default standard input) and list of numeric parameters that are made available to the program. A moto program consists of a list of groups of commands guarded by a range of frames. Groups may contain parameter ranges enclosed in brackets []. For each frame, moto checks each group and processes those whose guards include the current frame number: 1,6: clr 128 1,4: clr -w [0,30] [0,30] [100,130] [100,130] 3,6: clr -w [100,70] [100,70] [130,100] [130,100] 255 This generates clr 128 clr -w 0 0 100 100 clr 128 clr -w 10 10 110 110 clr 128 clr -w 20 20 120 120 clr -w 100 100 130 130 255 clr 128 clr -w 30 30 130 130 clr -w 90 90 120 120 255 clr 128 clr -w 80 80 110 110 255 clr 128 clr -w 70 70 100 100 255 Two special guards, BEGIN and END, specify actions to be taken before and after processing frames. Moto allows complex computations inside parameter brackets: 1,10: clr [127.5*(1-cos([0,360]))] This generates clr 0 clr 29.82933350233 clr 105.35985734747 clr 191.25 clr 247.3108091502 clr 247.3108091502 clr 191.25 clr 105.35985734747 clr 29.82933350233 clr 0 Expressions may include constants and variables. All values are double-precision floating point numbers. The operators =, /, +, - (both unary and binary), <, >, <=, >=, ==, !=, ?: and !, all with their meanings as in C, except that all results are coerced to double. The result of a%b is a-b*(int)(a/b). The result of a&&b is a?b:a. The result of a||b is a?a:b. The exponentiation operator is ^, also writ- ten **. The expression [a,b] varies from a to b, linearly as the frame number varies between the guards of the group containing the expression. The expression a[b,c] has the value a*b+(1-a)*c. Its value varies from b to c as a varies from 0 to 1. The expression $i has the value of the i'th parameter following the file name on moto's command line. The precedence of operators is, from lowest to highest: = ? : || && < <= == != > >= + - * / % [ ] ^ ** - (unary) ! $ Expressions may be parenthesized to alter precedence. The following math functions are available: fabs floor ceil sqrt hypot sin cos tan asin acos atan exp log log10 sinh cosh tanh All math functions are as described in the C library, except that angles are measured in degrees rather than radians for the trig and inverse trig functions. In addition hypot may have two or three arguments, atan may take two arguments instead of one, and may also be spelled atan2. For parameterization, and to allow even more complex computations, moto has variables, assignment and computation groups. A computation group causes no output; rather its body is a group of expressions to be evaluated for their side effects. It is distinguished from a com- mand group by having a double colon separating the guard and body: BEGIN:: n=5 1,n:: x=512*sin([0,90]) 1,n: pcp -w 0 0 [x] 488 pic.[1,n] %0 This generates pcp -w 0 0 0 488 pic.1 %0 pcp -w 0 0 195.93391737093 488 pic.2 %0 pcp -w 0 0 362.03867196751 488 pic.3 %0 pcp -w 0 0 473.02632064578 488 pic.4 %0 pcp -w 0 0 512 488 pic.5 %0 Upon occasion it is useful to split moto's output into several files, under program control. A group that is separated from its guards by an at-sign @ instead of a colon names a file into which subsequent output is to be written. For example, 1,5@ file.[1,5] 1,5: This is file.[1,5]. creates 5 files, with names file.1, ..., file.5. Each file's contents will announce its name. As is true for all sufficiently large programs, moto has a shell escape. The text of a group separated from its guards by an exclamation point ! causes a copy of rc(1) to be started. The group's text is sent to rc's standard input, and its standard output inserted into moto's output. SOURCE
/sys/src/fb/moto.y MOTO(9.1)
All times are GMT -4. The time now is 08:42 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy