Sponsored Content
Top Forums Shell Programming and Scripting Sort the file contents in each group....print the group title as well Post 302447904 by felipe.vinturin on Tuesday 24th of August 2010 04:00:31 PM
Old 08-24-2010
Another way:
Code:
sed '/^$/d' TestGroup.txt | \
gawk 'BEGIN{arrayIndex=0}
{
	if($1 == "Reason")
	{
		if(arrayIndex != 0)
		{
			arrayElements = asort(myArray)
			for(i=1; i <= arrayElements; i++)
			{
				print myArray[i]
			}
		}
		print $0
		arrayIndex=0
		delete myArray
	}
	else
	{
		myArray[arrayIndex]=$0
		arrayIndex++
	}
}END{
		if(arrayIndex != 0)
		{
			arrayElements = asort(myArray)
			for(i=1; i <= arrayElements; i++)
			{
				print myArray[i]
			}
		}
	}'

This User Gave Thanks to felipe.vinturin For This Post:
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Sort cmd to get GROUP BY?

Is there any way using the sort command to get something like a GROUP BY clause? I'm trying to sort through race_event records and group them by those individuals that raced together in the same race on the same date at the same track, but i run into a problem when there were days when the track... (6 Replies)
Discussion started by: RacerX
6 Replies

2. Shell Programming and Scripting

awk help required to group output and print a part of group line and original line

Hi, Need awk help to group and print lines to format the output as shown below INPUT FORMAT set echo on set heading on set spool on /* SCHEMA1 */ CREATE TABLE T1; /* SCHEMA1 */ CREATE TABLE T2; /* SCHEMA1 */ CREATE TABLE T3; /* SCHEMA1 */ CREATE TABLE T4; /* SCHEMA1 */ CREATE TABLE T5;... (5 Replies)
Discussion started by: rajan_san
5 Replies

3. Shell Programming and Scripting

Sort, group rows

I wrote script in bash which generates this report: User1,admin,rep,User2,shell,path1,x1,r1 User2,admin,rep,User7,shell,path1,x1,r1 User3,admin,rep,User4,shell,path1,x1,r1 User4,admin,rep,User3,shell,path1,x1,r1 User5,admin,rep,User1,shell,path1,x1,r1 User6,admin,rep,User5,shell,path1,x1,r1... (6 Replies)
Discussion started by: patrykxes
6 Replies

4. Shell Programming and Scripting

awk - sort, then print the high value for each group

Hi @ all I'm trying to achive to this problem, I've a 2-column composed file as the following: 192.168.1.2 2 192.168.1.3 12 192.168.1.2 4 192.168.1.4 3 cpc1-swan1-2-3-cust123.swan.cable.ntl.com 4 192.168.1.3 5 192.168.1.2 10 192.168.1.4 8... (8 Replies)
Discussion started by: m4rco-
8 Replies

5. Shell Programming and Scripting

Merge group numbers and add a column containing group names

Hi All I do have a file like this with 6 columns. Groups of data merge together and the group number is indicated above each group. 1 1 12 26 289 3.2e-027 GCGTATGGCGGC 2 12 26 215 6.7e+006 TTCCACCTTTTG 3 9 26 175 ... (1 Reply)
Discussion started by: Lucky Ali
1 Replies

6. Shell Programming and Scripting

Sort Data by Group !

Hello, I have a file and i want to sort by third column and extract the three top lines of each group, it is determined by the second column (144, 89, 55, etc). Could you please help me with the appropiate awk shell script XLY-XLP 144 0.592772 XLY-XLE 144 0.798121 ... (3 Replies)
Discussion started by: csierra
3 Replies

7. Shell Programming and Scripting

need a one liner to grep a group info from /etc/group and use that result to search passwd file

/etc/group tiadm::345:mk789,po312,jo343,ju454,ko453,yx879,iy345,hn453 bin::2:root,daemon sys::3:root,bin,adm adm::4:root,daemon uucp::5:root /etc/passwd mk789:x:234:1::/export/home/dummy:/bin/sh po312:x:234:1::/export/home/dummy:/bin/sh ju454:x:234:1::/export/home/dummy:/bin/sh... (6 Replies)
Discussion started by: chidori
6 Replies

8. UNIX for Dummies Questions & Answers

How to create a volume group, logical volume group and file system?

hi, I want to create a volume group of 200 GB and then create different file systems on that. please help me out. Its becomes confusing when the PP calculating PP. I don't understand this concept. (2 Replies)
Discussion started by: kamaldev
2 Replies

9. Programming

Sql ORA-00937: not a single-group group function

I'm trying to return only one row with the highest value for PCT_MAX_USED. Any suggestions? When I add this code, I get the ORA-00937 error. trunc(max(decode( kbytes_max, 0, 0, (kbytes_alloc/kbytes_max)*100))) pct_max_used This is the original and returns all rows. select (select... (3 Replies)
Discussion started by: progkcp
3 Replies
pg(3erl)						     Erlang Module Definition							  pg(3erl)

NAME
pg - Distributed, Named Process Groups DESCRIPTION
This (experimental) module implements process groups. A process group is a group of processes that can be accessed by a common name. For example, a group named foobar can include a set of processes as members of this group and they can be located on different nodes. When messages are sent to the named group, all members of the group receive the message. The messages are serialized. If the process P1 sends the message M1 to the group, and process P2 simultaneously sends message M2 , then all members of the group receive the two messages in the same order. If members of a group terminate, they are automatically removed from the group. This module is not complete. The module is inspired by the ISIS system and the causal order protocol of the ISIS system should also be implemented. At the moment, all messages are serialized by sending them through a group master process. EXPORTS
create(PgName) -> ok | {error, Reason} Types PgName = term() Reason = already_created | term() Creates an empty group named PgName on the current node. create(PgName, Node) -> ok | {error, Reason} Types PgName = term() Node = node() Reason = already_created | term() Creates an empty group named PgName on the node Node . join(PgName, Pid) -> Members Types PgName = term() Pid = pid() Members = [pid()] Joins the pid Pid to the process group PgName . Returns a list of all old members of the group. send(PgName, Msg) -> void() Types PgName = Msg = term() Sends the tuple {pg_message, From, PgName, Msg} to all members of the process group PgName . Failure: {badarg, {PgName, Msg}} if PgName is not a process group (a globally registered name). esend(PgName, Msg) -> void() Types PgName = Msg = term() Sends the tuple {pg_message, From, PgName, Msg} to all members of the process group PgName , except ourselves. Failure: {badarg, {PgName, Msg}} if PgName is not a process group (a globally registered name). members(PgName) -> Members Types PgName = term() Members = [pid()] Returns a list of all members of the process group PgName . Ericsson AB stdlib 1.17.3 pg(3erl)
All times are GMT -4. The time now is 08:38 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy