Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 7 Feb 2001 17:16:04 -0300 (ART)
From:      Fernando Gleiser <fgleiser@cactus.fi.uba.ar>
To:        "Zaitsau, Andrei" <AZaitsau@panasonicfa.com>
Cc:        "'freebsd-questions@freebsd.org'" <freebsd-questions@FreeBSD.ORG>
Subject:   Re: sed & awk help...?!
Message-ID:  <Pine.BSF.4.21.0102071710180.33985-100000@cactus.fi.uba.ar>
In-Reply-To: <054F7DAA9E54D311AD090008C74CE9BD01F1E94E@exchange.panasonicfa.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi

I don't know if this is what you want, but the following perl script
produces the following output with the input file you
supplied:

1       ab
5       ac
7       ab
9       ab
4       ab
6       ac
8       ac



-----8< cut here 8<-------

#! /usr/bin/perl -w

$i=0;
while (<>) {

        ($first, $sec, $third)=split(/\s+/, $_);

        $in[$i++]=$first;
        $out[$sec]=$third;
}

foreach $i (@in) {
        if (defined($out[$i])) {
                printf "%d\t%s\n", $i, $out[$i];
        }
} 

-----8< cut here 8<-------
				Fer


On Wed, 7 Feb 2001, Zaitsau, Andrei wrote:

> Hello Everyone,
> I have small work related problem.
> Can someone help me with that? It's more UNIX question.
> 
> Please CC me as I am not subscribed to a list.
> 
> Here The Problem.
> I have a file. And there is 3 tables in it.
> 
> 1	12	ac
> 3	4	ab
> 5	6	ac
> 7	8	ac
> 9	1	ab
> 2	13	ab
> 4	5	ac
> 6	7	ab
> 8	9	ab
> 
> The thing I need is to do some sorting.
> I guess it could be done with 'awk' or 'sed' utilities.
> 
> Okay program looking at the first value of the first table and compare it to
> the value in the second table. If it finds a match on the second table it
> outputs to other file matching value plus corresponding value from the 3rd
> table (just look at it as 2nd and 3rd tables are hard linked).
> 
> example: program is looking at value '1' in the 1st table, finds exact value
> in the second table and outputs this value and corresponding letters 'ab' to
> a separate file (other way to see it 2nd and 3rd table are hard linked)
> second step it checks value '3' from the first table and it does not find it
> in 2nd table, so it skips the record. And does not output anything
> Next, 5 in first table matches 5 in 2nd table so it outputs '5 ac' in the
> file (2nd and 3rd tables are hardlinked)
> 
> I am not sure if I explaining it clearly enough, but I hope someone got the
> idea.
> Please help me how to do it, I loose my sleep for 3 days already...
> Thanks.
> 
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-questions" in the body of the message
> 



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0102071710180.33985-100000>