Sponsored Content
Top Forums Shell Programming and Scripting AWK, sorting-if and print help. Post 302344530 by summer_cherry on Monday 17th of August 2009 02:34:46 AM
Old 08-17-2009
hope below perl can help you some.

Code:
my %hash;
while(<DATA>){
	next if $.==1;
	my @tmp = split;
	my $key = $tmp[0]." ".$tmp[1]." ".$tmp[2]." ".$tmp[3]." ".$tmp[4]." ".$tmp[7];
	push @{$hash{$key}}, $tmp[8]." ".$tmp[9]." ".$tmp[10];
}
foreach my $item (keys %hash){
	my ($key,$category,$id,$type,$type1,$date) = $item =~ /(([^0-9]+)[^ ]*) ([^ ]*) ([^ ]*) ([^ ]* [^ ]*) ([^ ]*)/;
	print '<name="'.$key.'.for'.$category.'" id="'.$id.'" type="'.$type.'" type1="'.$type1.'" date="'.$date.'"'."\n";
	foreach  my $s_item (@{$hash{$item}}){
		my ($s_type,$ip,$mac) = $s_item =~ /([^ ]*) ([^ ]*) ([^ ]*)/;
		print '<subdata="'.$s_type.'" ip="'.$ip.'" mac="'.$mac.'" />'."\n";
	}
	print "</name>\n";
}
__DATA__
Col1	Col2	Col3	Col4	Col5	Col6	Col7	Col8	Col9
apple1-123856	banana12	shaws	fruit	food	4:20:00 PM 8/18/2008	type2	 12.122.122.122	00:00:00:00:00:00
apple1-123856	banana12	shaws	fruit	food	4:21:00 PM 8/18/2008	type3	 12.122.122.123	00:00:00:00:00:01
apple3-123656	banana34	shaws	fruit	food	4:24:00 PM 8/18/2008	type5	 12.122.122.125	00:00:00:00:00:09
apple3-123656	banana34	shaws	fruit	food	4:21:00 PM 8/18/2008	type6	 12.122.122.126	00:00:00:00:00:08
banana1-127456	banana77	shaws	fruit	food	4:23:00 PM 8/18/2008	type2	 12.122.122.122	00:00:00:00:00:10
banana2-133456	banana88	shaws	fruit	food	10:24:00 PM 8/18/2008	type2	 12.122.122.122	00:00:00:00:00:11

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk sorting

Hi, I have used the following code to sort two sets of data: awk '{printf "%10s %s\n",$1,$2}' The first column is text and the second involves numbers. I was just wondering how i would go about sorting the second number so that they ascend from the top? Thanks for any help (4 Replies)
Discussion started by: Jaken
4 Replies

2. Shell Programming and Scripting

How do I get awk to print a " in it's print part?

The line is simple, use " '{ print $1"]"$2"\"$3THE " NEEDS TO GO HERE$4 }' I've tried \", "\, ^" and '"" but none of it works. What am I missing? Putting in the [ between $1 and $2 works fine, I just need to do the same with a ". Thanks. (2 Replies)
Discussion started by: LordJezo
2 Replies

3. Shell Programming and Scripting

sorting in awk

i have following file have following type of data 1~%%~fcashfafh~%%~9797 can i sort(numeric) the file on first field and then on last feild using awk (3 Replies)
Discussion started by: mahabunta
3 Replies

4. Shell Programming and Scripting

Is there any better way for sorting in bash/awk

Hi, I have a file which is:- 1 6 4 8 2 3 2 1 9 3 2 1 3 3 5 6 3 1 4 9 7 8 2 3 I would like to sort from field $2 to field $6 for each of the line to:- 1 2 3 4 6 8 2 1 1 2 3 9 3 1 3 3 5 6 4 2 3 7 8 9 I came across this Arrays on example 26-6. But it is much complicated. I am... (7 Replies)
Discussion started by: ahjiefreak
7 Replies

5. Shell Programming and Scripting

Sorting with sed,awk ...

I need to sort this input using sed, awk or any other tool to give below output Input: RXOCF-8 CLASS 2A 57 RU 40 RXORX-8-0 CLASS 1B 23 45 16 RXORX-8-1 EXTERNAL CLASS 2A (12 Replies)
Discussion started by: aydj
12 Replies

6. Shell Programming and Scripting

Sorting inside awk

I have an array with five columns and i want to write it to a file. Before writing it i must sort it using the field in the fifth column. _________________________________________ |field 1|field 2|field 3|field 4|field 5| | | | | | | | | | |... (6 Replies)
Discussion started by: beatblaster666
6 Replies

7. Shell Programming and Scripting

AWK/GREP sorting help

hi everyone, I am kind of new to this forum. I need help in sorting this data out accordingly, I am actually doing a traceroute application and wants my AS path displayed in front of my address like this; 192.168.1.1 AS28513 AS65534 AS5089 AS5089 .... till the last AS number and if possible sort... (8 Replies)
Discussion started by: sam127
8 Replies

8. Shell Programming and Scripting

Sorting a .csv using awk or other

Hello all, I am new here and *relatively* new to Unix. I have a bit of an emergency. I have a three column file that I need to sort: sample name, miRNA, reads per million (RPM) There are multiple samples, and for each sample name there are multiple miRNAs and associated RPMs. Some of these... (6 Replies)
Discussion started by: dunnybocter
6 Replies

9. Shell Programming and Scripting

Sorting within a record using AWK

Hello, I have a file which has the following format: I have to do is sort individual records in the file based on the 4th field. Each record starts with "Module". Is there an easy way to do this using awk. I have tried piping output from awk to sort and also using "sort" inside awk but... (8 Replies)
Discussion started by: fifteate
8 Replies

10. Shell Programming and Scripting

Help with awk sorting with different values

Hello, I have a file as follows: BTA Pos KLD 4 79.7011 5.7711028907 4 79.6231 5.7083918219 5 20.9112 4.5559494707 5 58.0002 3.4423546273 6 38.2569 4.7108176788 6 18.3889 7.3631759258 (1 Reply)
Discussion started by: Homa
1 Replies
IGAWK(1)							 Utility Commands							  IGAWK(1)

NAME
igawk - gawk with include files SYNOPSIS
igawk [ all gawk options ] -f program-file [ -- ] file ... igawk [ all gawk options ] [ -- ] program-text file ... DESCRIPTION
Igawk is a simple shell script that adds the ability to have ``include files'' to gawk(1). AWK programs for igawk are the same as for gawk, except that, in addition, you may have lines like @include getopt.awk in your program to include the file getopt.awk from either the current directory or one of the other directories in the search path. OPTIONS
See gawk(1) for a full description of the AWK language and the options that gawk supports. EXAMPLES
cat << EOF > test.awk @include getopt.awk BEGIN { while (getopt(ARGC, ARGV, "am:q") != -1) ... } EOF igawk -f test.awk SEE ALSO
gawk(1) Effective AWK Programming, Edition 1.0, published by the Free Software Foundation, 1995. AUTHOR
Arnold Robbins (arnold@skeeve.com). Free Software Foundation Nov 3 1999 IGAWK(1)
All times are GMT -4. The time now is 02:08 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy