Sponsored Content
Top Forums Shell Programming and Scripting loop through two files based on a variable Post 302290765 by summer_cherry on Tuesday 24th of February 2009 04:37:30 AM
Old 02-24-2009
Code:
#!/usr/bin/perl
use strict;
open FH,"<a.txt" or die "Can not open file";
my (@a1,@a2,$gap,$key);
while(<FH>){
	chomp;
	my @tmp=split(",",$_);
	push @a1,$tmp[0];
	push @a2,$tmp[1];
}
close FH;
for(my $i=0;$i<=$#a1;$i++){
	$gap=0;
	$key=0;
	for(my $j=0;$j<=$#a1;$j++){
		my $tmp=abs($a2[$j]-$a1[$i]);
		if ($gap==0||$tmp<=$gap){
			$gap=$tmp;
			$key=$a2[$j];
		}
	}
	print $a1[$i],",",$key,"\n";
}

 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

create variable name based on another variable's value

Hello, I am needing to create a variable and assign it a value based on the value of a previosly defined variable... I am using KSH.. Example: VAR1=COMPUTER1 I need another variable like ${VAR1}_FLAG="Y", so it would actually be COMPUTER1_FLAG="Y". I will be looping through many values in... (2 Replies)
Discussion started by: benefactr
2 Replies

2. Shell Programming and Scripting

Using awk to create files based on a variable name

Hey all, I am parsing a file which have records containing one of a number of files names: ".psd", ".cr2", ".crw" , ".cr", ".xi", ".jpg", ".xif" etc Somewhere on each line there is a value "Namex.psd" "Namex.crw" etc. The position of this name is highly variable I need to output all the ".psd"... (4 Replies)
Discussion started by: C0ppert0p
4 Replies

3. Shell Programming and Scripting

[SHELL: /bin/sh] For loop using variable variable names

Simple enough problem I think, I just can't seem to get it right. The below doesn't work as intended, it's just a function defined in a much larger script: CheckValues() { for field in \ Group_ID \ Group_Title \ Rule_ID \ Rule_Severity \ ... (2 Replies)
Discussion started by: Vryali
2 Replies

4. Shell Programming and Scripting

printing variable with variable suffix through loop

I have a group of variables myLINEcnt1 - myLINEcnt10. I'm trying to printout the values using a for loop. I am at the head banging stage since i'm sure it has to be a basic syntax issue that i can't figure out. For myIPgrp in 1 2 3 4 5 6 7 8 9 10; do here i want to output the value of... (4 Replies)
Discussion started by: oly_r
4 Replies

5. Shell Programming and Scripting

Array Variable being Assigned Values in Loop, But Gone when Loop Completes???

Hello All, Maybe I'm Missing something here but I have NOOO idea what the heck is going on with this....? I have a Variable that contains a PATTERN of what I'm considering "Illegal Characters". So what I'm doing is looping through a string containing some of these "Illegal Characters". Now... (5 Replies)
Discussion started by: mrm5102
5 Replies

6. Shell Programming and Scripting

[Solved] How to increment and add variable length numbers to a variable in a loop?

Hi All, I have a file which has hundred of records with fixed number of fields. In each record there is set of 8 characters which represent the duration of that activity. I want to sum up the duration present in all the records for a report. The problem is the duration changes per record so I... (5 Replies)
Discussion started by: danish0909
5 Replies

7. Shell Programming and Scripting

Calling a Variable based on a Variable

Hi all, I have a source config file with variables like so: eth1_ip=192.168.1.99 eth2_ip=192.168.1.123 eth3_ip=172.16.1.1 I am trying to run a script which loops based on the number of eth interfaces on a machine and therefore modifies the variable it calls in the environment based on the... (5 Replies)
Discussion started by: landossa
5 Replies

8. Shell Programming and Scripting

Naming output files based on variable parameters and input filenames

Hello, I have a series of files in sub-directories that I want to loop through, process and name according to the input filename and the various parameters I'm using to process the files. I have a number of each, for example file names like AG005574, AG004788, AG003854 and parameter values like... (2 Replies)
Discussion started by: bdeads
2 Replies

9. UNIX for Beginners Questions & Answers

Compare two files and print based on common variable value.

Hi All, i have below two files. FILE: NAME="/dev/sda" TYPE="disk" SIZE="60G" OWNER="root" GROUP="disk" MODE="brw-rw----" PKNAME="" MOUNTPOINT="" NAME="/dev/sda1" TYPE="part" SIZE="500M" OWNER="root" GROUP="disk" MODE="brw-rw----" PKNAME="/dev/sda" MOUNTPOINT="/boot" NAME="/dev/sda2"... (3 Replies)
Discussion started by: balu1234
3 Replies
Acme::Brainfuck(3)					User Contributed Perl Documentation					Acme::Brainfuck(3)

NAME
Acme::Brainfuck - Embed Brainfuck in your perl code SYNOPSIS
#!/usr/bin/env perl use Acme::Brainfuck; print 'Hello world!', chr ++++++++++. ; DESCRIPTION
Brainfuck is about the tiniest Turing-complete programming language you can get. A language is Turing-complete if it can model the opera- tions of a Turing machine--an abstract model of a computer defined by the British mathematician Alan Turing in 1936. A Turing machine con- sists only of an endless sequence of memory cells and a pointer to one particular memory cell. Yet it is theoretically capable of perform- ing any computation. With this module, you can embed Brainfuck instructions delimited by whitespace into your perl code. It will be trans- lated into Perl as parsed. Brainfuck has just just 8 instructions (well more in this implementation, see "Extensions to ANSI Brainfuck" below.) which are as follows Instructions + Increment Increase the value of the current memory cell by one. - Decrement Decrease the value of the current memory cell by one. > Forward Move the pointer to the next memory cell. < Back Move the pointer to the previous memory cell. , Input Read a byte from Standard Input and store it in the current memory cell. . Output Write the value of the current memory cell to standard output. [ Loop If the value of the current memory cell is 0, continue to the cell after the next ']'. ] Next Go back to the last previous '['. Extensions to ANSI Brainfuck This implementation has extra instructions available. In order to avoid such terrible bloat, they are only available if you use the ver- bose pragma like so: use Acme::Brainfuck qw/verbose/; The extra instructions are: ~ Reset Resets the pointer to the first memory cell and clear all memory cells. # Peek Prints the values of the memory pointer and the current memory cell to STDERR. See also "Debugging" below. Debugging By using the debug pragma like this: use Acme::Brainfuck qw/debug/; you can dump out the generated perl code. (Caution: it is not pretty.) The key to understanding it is that the memory pointer is repre- sented by $p, and the memory array by @m Therefore the value of the current memory cell is $m[$p]. RETURN VALUE
Each sequence of Brainfuck instructions becomes a Perl block and returns the value of the current memory cell. EXAMPLES
JABH #!/usr/bin/env perl use Acme::Brainfuck; print "Just another "; ++++++[>++++++++++++++++<-]> ++.-- >+++[<++++++>-]<.>[-]+++[<------>-]< +.- +++++++++.--------- ++++++++++++++.-------------- ++++++.------ >+++[<+++++++>-]<.>[-]+++[<------->-]< +++.--- +++++++++++.----------- print " hacker. "; Countdown #!/usr/bin/env perl use strict; use Acme::Brainfuck qw/verbose/; print "Countdown commencing... "; ++++++++++[>+>+<<-] >>+++++++++++++++++++++++++++++++++++++++++++++++<< ++++++++++[>>.-<.<-] print "We have liftoff! "; Reverse #!/usr/bin/env perl use Acme::Brainfuck qw/verbose/; while(1) { print "Say something to Backwards Man and then press enter: "; +[->,----------]< print 'Backwards Man says, "'; [+++++++++++.<]< print "" to you too. "; ~ } Math #!/usr/bin/env perl use Acme::Brainfuck; use strict; use warnings; my $answer = +++[>++++++<-]> ; print "3 * 6 = $answer "; VERSION
1.1.1 Apr 06, 2004 AUTHOR
Jaldhar H. Vyas E<lt>jaldhar@braincells.comE<gt> THANKS
Urban Mueller - The inventor of Brainfuck. Damian Conway - For twisting perl to hitherto unimaginable heights of weirdness. Marco Nippula <http://www.hut.fi/~mnippula/> - Some code in this module comes from his brainfuck.pl Mr. Rock - Who has a nice Brainfuck tutorial at <http://www.cydathria.com/bf/>. Some of the example code comes from there. COPYRIGHT AND LICENSE
Copyright (c) 2004, Consolidated Braincells Inc. Licensed with no warranties under the Crowley Public License: "Do what thou wilt shall be the whole of the license." perl v5.8.3 2004-04-06 Acme::Brainfuck(3)
All times are GMT -4. The time now is 01:56 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy