05-15-2011
"a" is an associative array with key,value combination. Here key:value will be orange:10, orange:50, green:30 etc.
In the first run, a[orange] will be 10, in the second run, a[orange] will be 20 and so on
$2 prints the values i.e. 50, 30 etc, initially a[$1] will be blank
Algorithm used is
1. start - a[$1]=0
2. If $2(which is the value) > a[$1] then a[$1]=$2(newvalue)
3. Read next line
4. Repeat step 2 and 3 until EOF
5. Print the array a
regards,
Ahamed
This User Gave Thanks to ahamed101 For This Post:
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi,
I have a file like this.
please notice that ./usr/orders1/order_new_2627 appears more than once, thus needs to be merged.
I would like to merge the lines where the first column match
so the output should be like this:
Please help (2 Replies)
Discussion started by: rakeshou
2 Replies
2. Shell Programming and Scripting
Dear Friends
myself Avinash working in bash shell
The problem goes like this
I have a file called work.txt
assume that
first colum=mac address
second colum= IP
third colum = port number
----------------------------------------
00:12:23:34 192.168.50.1 2
00:12:23:35 192.168.50.1 5... (2 Replies)
Discussion started by: avi.skynet
2 Replies
3. Infrastructure Monitoring
I have a log file "logreport" that contains several lines as seen below:
04:20:00 /usr/lib/snmp/snmpdx: Agent snmpd appeared dead but responded to ping
06:38:08 /usr/lib/snmp/snmpdx: Agent snmpd appeared dead but responded to ping
07:11:05 /usr/lib/snmp/snmpdx: Agent snmpd appeared dead... (4 Replies)
Discussion started by: Nysif Steve
4 Replies
4. Shell Programming and Scripting
Greetings, I have been trying to merge the following lines:
Sat. May 9 8:00 PM
Sat. May 9 8:00 PM CW
Sat. May 9 8:00 PM CW Cursed
Sat. May 9 9:00 PM
Sat. May 9 9:00 PM CW
Sat. May 9 9:00 PM CW Sanctuary
Sat. May 16 8:00 PM
Sat. May 16 8:00 PM CW
Sat. May 16 8:00 PM CW Sanctuary
Sat. May... (2 Replies)
Discussion started by: adambot
2 Replies
5. Shell Programming and Scripting
Hi,
I have a little problem with counting lines. I know similar topics from this forum, but they don't resolve my problem. I have file with lines like this:
2009-05-25 16:55:32,143 some text some regular expressions ect.
2009-05-25 16:55:32,144 some text.
2009-05-28 18:15:12,148 some... (4 Replies)
Discussion started by: marcinnnn
4 Replies
6. Shell Programming and Scripting
Hello folks
I have a question for you gurus of sed or grep (maybe awk, but I would prefer the first two)
I have a file (f1) that says:
(actually, these are not numbers but md5sum, but for simplicity, let's assume these numbers.)
1
2
3
4
5And I have a file (f2) that says
1|a
1|b
1|c
2|d... (3 Replies)
Discussion started by: tukuyomi
3 Replies
7. Shell Programming and Scripting
consider i have two files
cat onlyviews1.sql
CREATE VIEW V11
AS
SELECT id,
name,
FROM
etc etc
WHERE etc etc;
CREATE VIEW V22
AS
SELECT id,
name,
FROM
etc etc
WHERE etc etc;
CREATE VIEW V33
AS (10 Replies)
Discussion started by: vivek d r
10 Replies
8. Shell Programming and Scripting
I have 2 files, and I wish to count number of lines with this characteristic:
if any token at line x in file1, is similar to a token at line x in file2.
Here's an example:
file1:
ab, abc
ef
fg
file2:
ab
cd ef
gh
In this case I wish to get 3.
Note that token of file1 are... (3 Replies)
Discussion started by: Viernes
3 Replies
9. Shell Programming and Scripting
Hello,
I want to get the maximum value of each record separated by empty line based on the 3rd column of each row within each record?
Input:
A1 chr5D 634 7 82 707
A2 chr5D 637 6 82 713
A3 chr5D 637 5 82 713
A4 chr5D 626 1 82 704... (4 Replies)
Discussion started by: yifangt
4 Replies
10. Solaris
Hi,
I need to compare the /etc/passwd files from 2 servers, and extract the users that are similar in these two files. I sorted the 2 files based on the user IDs (UID) (3rd column). I first sorted the files using the username (1st column), however when I use comm to compare the files there is no... (1 Reply)
Discussion started by: anaigini45
1 Replies
LEARN ABOUT MOJAVE
cgi::pretty
CGI::Pretty(3pm) Perl Programmers Reference Guide CGI::Pretty(3pm)
NAME
CGI::Pretty - module to produce nicely formatted HTML code
SYNOPSIS
use CGI::Pretty qw( :html3 );
# Print a table with a single data element
print table( TR( td( "foo" ) ) );
DESCRIPTION
CGI::Pretty is a module that derives from CGI. It's sole function is to allow users of CGI to output nicely formatted HTML code.
When using the CGI module, the following code:
print table( TR( td( "foo" ) ) );
produces the following output:
<TABLE><TR><TD>foo</TD></TR></TABLE>
If a user were to create a table consisting of many rows and many columns, the resultant HTML code would be quite difficult to read since
it has no carriage returns or indentation.
CGI::Pretty fixes this problem. What it does is add a carriage return and indentation to the HTML code so that one can easily read it.
print table( TR( td( "foo" ) ) );
now produces the following output:
<TABLE>
<TR>
<TD>foo</TD>
</TR>
</TABLE>
Recommendation for when to use CGI::Pretty
CGI::Pretty is far slower than using CGI.pm directly. A benchmark showed that it could be about 10 times slower. Adding newlines and spaces
may alter the rendered appearance of HTML. Also, the extra newlines and spaces also make the file size larger, making the files take longer
to download.
With all those considerations, it is recommended that CGI::Pretty be used primarily for debugging.
Tags that won't be formatted
The following tags are not formatted: <a>, <pre>, <code>, <script>, <textarea>, and <td>. If these tags were formatted, the user would see
the extra indentation on the web browser causing the page to look different than what would be expected. If you wish to add more tags to
the list of tags that are not to be touched, push them onto the @AS_IS array:
push @CGI::Pretty::AS_IS,qw(XMP);
Customizing the Indenting
If you wish to have your own personal style of indenting, you can change the $INDENT variable:
$CGI::Pretty::INDENT = " ";
would cause the indents to be two tabs.
Similarly, if you wish to have more space between lines, you may change the $LINEBREAK variable:
$CGI::Pretty::LINEBREAK = "
";
would create two carriage returns between lines.
If you decide you want to use the regular CGI indenting, you can easily do the following:
$CGI::Pretty::INDENT = $CGI::Pretty::LINEBREAK = "";
AUTHOR
Brian Paulsen <Brian@ThePaulsens.com>, with minor modifications by Lincoln Stein <lstein@cshl.org> for incorporation into the CGI.pm
distribution.
Copyright 1999, Brian Paulsen. All rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Bug reports and comments to Brian@ThePaulsens.com. You can also write to lstein@cshl.org, but this code looks pretty hairy to me and I'm
not sure I understand it!
SEE ALSO
CGI
perl v5.18.2 2014-01-06 CGI::Pretty(3pm)