Sponsored Content
Full Discussion: Grouping and Calculating
Top Forums Shell Programming and Scripting Grouping and Calculating Post 302977396 by Scrutinizer on Sunday 17th of July 2016 11:43:28 AM
Old 07-17-2016
Hi, if the items are grouped like in your sample, try something like:
Code:
awk '
  function pr(i) {
    printf "%s", i A[i]
    print  i, "TOTAL", T[i]
  }
  {
    if(i!=$1 && NR>1) pr(i)
    i=$1
    $1=x
    A[i]=A[i] $0 ORS
    T[i]+=$3
    GT+=$3
  }
  END {
    pr(i)
    print "", "TOTAL", GT}
' OFS='\t' file

Otherwise, try something like this:
Code:
awk '
  {
    i=$1;
    $1=x
    A[i]=A[i] $0 ORS
    T[i]+=$3
    GT+=$3
  } 
  END {
    for(i in A) {
      printf "%s",i A[i]
      print  i, "TOTAL", T[i]
    }
    print "", "TOTAL", GT
  }
' OFS='\t' file

But then the items will not necessarily appear in the order of the input file

Last edited by Scrutinizer; 07-17-2016 at 01:10 PM..
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Regarding the user grouping

I am new to the unix server. My question is: i have 10 users a b c d e f g h i j Among the 10 5 users are (normal) user and remainging 5 users are (qad) users How can i sepearte this one? How can i give the dlc access rights? Please provide the clear cut idea. (0 Replies)
Discussion started by: kingganesh04
0 Replies

2. UNIX for Dummies Questions & Answers

grouping and sorting??

how would I write a command line that creates a new file named stuff.txt in the current working directory which contains the number of directories in the current working directory, followed by the number of empty files in the current working directory, followed by the name of the working directory? (3 Replies)
Discussion started by: jorogon0099
3 Replies

3. UNIX for Dummies Questions & Answers

Help with data grouping

Hi all, I have a set data as shown below, and i would like to eliminate the name that no children - boy and girl. What is the appropriate command can i use(other than grep)? Please assist... My input: name sex marital status children - boy children - girl ... (3 Replies)
Discussion started by: 793589
3 Replies

4. UNIX for Advanced & Expert Users

grouping lines

Hi all, I have input lines like below: A;100;Paris;City;10;0;0 A;100;Paris;City;0;10;0 A;100;Paris;City in Europe;0;0;20 B;101;London;City;20;0;0 B;101;London;City;0;20;0 B;101;London;City in Europe;0;0;40 I need to group the above lines to: A;100;Paris;City in Europe;10;10;20... (4 Replies)
Discussion started by: andy2000
4 Replies

5. Shell Programming and Scripting

Grouping each 2 lines

Whats a good way to group (by adding a new integer to the front of each line) pairs of lines, such that lines 1 & 2 are group 1, lines 3 & 4 are group 2, etc... ex input: A B C D etc... ex output: 1A 1B 2C 2D etc... (5 Replies)
Discussion started by: watingo
5 Replies

6. Shell Programming and Scripting

Calculating the epoch time from standard time using awk and calculating the duration

Hi All, I have the following time stamp data in 2 columns Date TimeStamp(also with milliseconds) 05/23/2012 08:30:11.250 05/23/2012 08:30:15.500 05/23/2012 08:31.15.500 . . etc From this data I need the following output. 0.00( row1-row1 in seconds) 04.25( row2-row1 in... (5 Replies)
Discussion started by: ks_reddy
5 Replies

7. Shell Programming and Scripting

Selective grouping

I have a text file in this format. Group: AAA Notes: IP : 11.11.11.11 #User xxxxxxxxx #Password aaaaaaaaaaaaaaaa Group: AAA Notes: IP : 11.11.11.22 #User yyyyyyyyyyyyy #Password bbbbbbbbbbbbb (8 Replies)
Discussion started by: anil510
8 Replies

8. UNIX for Dummies Questions & Answers

Grouping in grep

How do you do grouping in grep? Here's how I tried it at first: egrep 'qualit(y|ies)' /usr/share/dict/words -bash: syntax error near unexpected token `(' I'm using GNUgrep, and I found this on their site. grep regular expression syntax So I tried this: egrep 'qualit\(y\|ies\)'... (2 Replies)
Discussion started by: sudon't
2 Replies

9. Shell Programming and Scripting

Grouping

Hi all, I am using following command: perl program.pl input.txt output.txt CUTOFF 3 > groups_3.txt containing program.pl, two files (input.txt, output.txt) and getting output in groups_3.txt: But, I wish to have 30 files corresponding to each CUTOFF ranging from 0 to 30 using the same... (1 Reply)
Discussion started by: bioinfo
1 Replies

10. Shell Programming and Scripting

Name grouping

awk 'FNR==NR {a; next} $NF in a' genes.txt refseq_exons.txt > output.txt I can not figure out how to group the same name in $4 together. Basically, all the SKI together in separate rows and all the TGFB2. Thank you :). chr1 2160133 2161174 SKI chr1 218518675 218520389 TGFB2... (1 Reply)
Discussion started by: cmccabe
1 Replies
PPMNTSC(1)						      General Commands Manual							PPMNTSC(1)

NAME
ppmntsc - Make RGB colors legal for NTSC or PAL color systems. SYNOPSIS
ppmntsc [ --pal ] [ --legalonly ] [ --illegalonly ] [ --correctedonly ] [ --verbose ] [ --debug ] [ infile ] Minimum unique abbreviations of options are acceptable. DESCRIPTION
This program makes colors legal in the NTSC (or PAL) color systems. Often, images generated on the computer are made for use in movies which ultimately end up on video tape. However, the range of colors (as specified by their RGB values) on a computer does not match the range of colors that can be represented using the NTSC (or PAL) systems. If an image with "illegal" colors is sent directly to an NTSC (or PAL) video system for recording, the "illegal" colors will be clipped. This may result in an undesirable looking picture. This utility tests each pixel in an image to see if it falls within the legal NTSC (or PAL) range. If not, it raises or lowers the pixel's saturation in the output so that it does fall within legal limits. Pixels that are already OK just go unmodified into the output. Input is from the file named input. If input is -, input is from Standard Input. If you don't specify input, input is from Standard Input. Output is always to Standard Output. This program handles multi-image PPM input, producing multi-image PPM output. OPTIONS
--pal Use the PAL transform instead of the default NTSC. --verbose Print a grand total of the number of illegal pixels. --debug Produce a humongous listing of illegal colors and their legal counterparts. NOTE: This option may produce a great deal of output. --legalonly Output only pixels that are already legal. Output black in place of pixels that are not. --illegalonly Output only pixels that are illegal (and output them uncorrected). Output black in place of pixels that are already legal. --correctedonly Output only pixels that are corrected versions of illegal pixels. Output black in place of pixels that are already legal. SEE ALSO
ppm(5), ppmdepth(1), ppmdim(1), ppmbrighten(1) AUTHOR
Wes Barris, Minnesota Supercomputer Center, Inc., Bryan Henderson 4th Berkeley Distribution April 19, 2000 PPMNTSC(1)
All times are GMT -4. The time now is 10:25 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy