12-04-2012
Once they are sorted you can read them line by line: as they are sorted already you can rely on all the identical key values coming one after the other. The underlying algorithm is a widely used and basic one and called: single group change and it works like this:
You have to remember your last key value. If the key value you read now is identical you are within the same group, so add the other values to sums or whatever you do within your groups.
If the key you read is not identical with the previous one you have to first end your last group - calculate any averages from the sums, etc. - then start with a new group.
Two things to take into account: when you read the first line your group changes (from "" to some value) but you should suppress group end-processing at this point, because otherwise you get a "ghost-group" with an empty key and all values zero/nil. Second, your last line will have to trigger a group change too, because otherwise the last group would not be processed.
I hope this helps.
bakunin
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
If the 4th column has - sign then the names in 3rd column has to change to some user defined names (as shown in output).
Thanx
input1
1 a aaaaa +
2 b bbbbb +
3 c ccccc +
4 d ddddd +
5 e eeeee +
6 f xxxxx +
8 h hhhhh +... (8 Replies)
Discussion started by: repinementer
8 Replies
2. Shell Programming and Scripting
Hi Friends,
In continuation to my earlier post
https://www.unix.com/shell-programming-scripting/99166-script-find-average-given-column-also-specified-number-rows.html
I am extending my problem as follows.
Input:
Column1 Column2
MAS 1
MAS 4 ... (2 Replies)
Discussion started by: ks_reddy
2 Replies
3. Shell Programming and Scripting
Hi,
I'm new to shell programming, can anyone help me on this? I want to do following operations -
1. Average salary for each country
2. Total salary for each city
and data that looks like -
salary country city
10000 zzz BN
25000 zzz BN
30000 zzz BN
10000 yyy ZN
15000 yyy ZN
... (3 Replies)
Discussion started by: shell123
3 Replies
4. Shell Programming and Scripting
Hi,
I have nine files looking similar to file1 & file2 below.
File1:
1 ABCA1
1 ABCC8
1 ABR:N
1 ACACB
1 ACAP2
1 ACOT1
1 ACSBG
1 ACTR1
1 ACTRT
1 ADAMT
1 AEN:N
1 AKAP1File2:
1 A4GAL
1 ACTBL
1 ACTL7 (4 Replies)
Discussion started by: seqbiologist
4 Replies
5. Shell Programming and Scripting
Input file 1:
A1BG
A1BG
A1BG
A1CF
A1CF
BCAS
BCAS
A2LD1
A2M
A2M
HAT
.
.
Input file 2:
A1BG All
A1CF TEMP (5 Replies)
Discussion started by: perl_beginner
5 Replies
6. Homework & Coursework Questions
Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted!
1. The problem statement, all variables and given/known data:
I am trying to complete a script which will allow me to find:
a) reads a value from the keyboard. (ask the... (4 Replies)
Discussion started by: dstewie
4 Replies
7. Shell Programming and Scripting
Hi i have data with two columns like below.
I want to find average of column values like if the value in column 2 is between 0-250000 the average of column 1 is some xx and average of column2 is ww then if value is 250001-5000000 average of column 1 is yy and average of column 2 is zz.
And my... (5 Replies)
Discussion started by: bhargavpbk88
5 Replies
8. Shell Programming and Scripting
Hi,
I would like to calculate the average of column 'y' based on the value of column 'pos'.
For example, here is file1
id pos y c
11 1 220 aa
11 4333 207 f
11 5333 112 ee
11 11116 305 e
11 11117 310 r
11 22228 781 gg
11 ... (2 Replies)
Discussion started by: jackken007
2 Replies
9. UNIX for Dummies Questions & Answers
HI,
I have a long file which looks like
"1xxx_0_1" "1xxx" 500 5 "ABC*3-DEF*3-LL"
"2yyy_0_1" "2yyy" 600 10 "ABC*2-DEF*2-LL"
"3ddd_0_1" "3ddd" 150 52 "ABC*3-DEF*3-LL"
"1xxx_0_1" "1xxx" 500 5 "ABC*3-DEF*3-LL"
"2yyy_0_1" "2yyy" 600 10 "ABC*2-DEF*2-LL"
... (3 Replies)
Discussion started by: XXLMMN
3 Replies
10. Shell Programming and Scripting
Hi,
My input file
Gene1 1
Gene1 2
Gene1 3
Gene1 0
Gene2 0
Gene2 0
Gene2 4
Gene2 8
Gene3 9
Gene3 9
Gene4 0
Condition:
If the first column matches, then look in the second column. If there is a value of zero in the second column, then don't consider that record while averaging.
... (5 Replies)
Discussion started by: jacobs.smith
5 Replies
LEARN ABOUT REDHAT
groupmod
GROUPMOD(8) System Manager's Manual GROUPMOD(8)
NAME
groupmod - Modify a group
SYNOPSIS
groupmod [-g gid [-o]] [-n group_name ] group
DESCRIPTION
The groupmod command modifies the system account files to reflect the changes that are specified on the command line. The options which
apply to the groupmod command are
-g gid The numerical value of the group's ID. This value must be unique, unless the -o option is used. The value must be non-negative.
Values between 0 and 99 are typically reserved for system groups. Any files which the old group ID is the file group ID must have
the file group ID changed manually.
-n group_name
The name of the group will be changed from group to group_name.
FILES
/etc/group - group information
/etc/gshadow - secure group information
SEE ALSO
chfn(1), chsh(1), passwd(1), groupadd(8), groupdel(8), useradd(8), userdel(8), usermod(8)
AUTHOR
Julianne Frances Haugh (jockgrrl@ix.netcom.com)
GROUPMOD(8)