Sponsored Content
Top Forums Shell Programming and Scripting Sum of multiple columns based on few conditions Post 302906409 by vinus on Thursday 19th of June 2014 11:09:46 AM
Old 06-19-2014
Sum of multiple columns based on few conditions

Input file:
Code:
0014,A,2020,K,011115000000,xyxxxxxxxxxxxxxx ,B,00001,0003200,0000111
0014,A,2020,K,011115000000,xyxxxxxxxxxxxxxx ,B,00001,0003300,0000100
0014,A,2020,K,011116000000,xyxxxxxxxxxxxxxx ,B,00001,0003400,0000100
0014,A,2020,K,011116000000,xyxxxxxxxxxxxxxx ,B,00007,0003100,0000200
0012,A,2020,K,047225000000,xyxxxxxxxxxxxxxx ,B,00001,0003000,0000100
0012,A,2020,K,047225000000,xyxxxxxxxxxxxxxx ,B,00001,0003100,0000100
0013,A,2020,K,047225000000,xyxxxxxxxxxxxxxx ,B,00001,0003300,0000100

i need to sum of multiple columns(8th,9th,10th) based on few conditions on the above file.
1) Sort by column 1
2)Sum of columns(8th,9th,10th) based on unique column 1 and column 5.
3)print the original record and print the output in a separate line(second column value should be T
and 6th column should be blank in the output line)

Output:
Code:
0012,A,2020,K,047225000000,xyxxxxxxxxxxxxxx ,B,00001,0003000,0000100
0012,A,2020,K,047225000000,xyxxxxxxxxxxxxxx ,B,00001,0003100,0000100
0012,T,2020,K,047225000000,                        ,B,00002,0006100,0000200
0013,A,2020,K,047225000000,xyxxxxxxxxxxxxxx ,B,00001,0003300,0000100
0013,T,2020,K,047225000000,                       ,B,00001,0003300,0000100
0014,A,2020,K,011115000000,xyxxxxxxxxxxxxxx ,B,00001,0003200,0000111
0014,A,2020,K,011115000000,xyxxxxxxxxxxxxxx ,B,00001,0003300,0000100
0014,A,2020,K,011116000000,xyxxxxxxxxxxxxxx ,B,00001,0003400,0000100
0014,A,2020,K,011116000000,xyxxxxxxxxxxxxxx ,B,00007,0003100,0000200
0014,T,2020,K,011115000000,                        ,B,00002,0006500,0000211
0014,T,2020,K,011116000000,                        ,B,00008,0006500,0000300

I tried the below command, the total is coming correct. The formatting is not correct and need the output mentioned above
Code:
awk -F',' '{a[$1"."$5]+=$8;b[$1"."$5]+=$9;c[$1"."$5]+=$10;f[$1"."$5]=$2;
g[$1"."$5]=$1;h[$1"."$5]=$3;
j[$1"."$5]=$4;k[$1"."$5]=$5;
r[$1"."$5]=$7
l[$1"."$5]=$6;m[$1"."$5]=$7}END{for(i in a)print g[i]",",f[i]",",h[i]",",j[i]",",k[i]",",l[i]",",r[i]",",a[i]",",b[i]",",c[i] |"sort -t ',' -n -k1,1"}' file.txt

Can anyone please assist me?

Last edited by bartus11; 06-19-2014 at 12:19 PM.. Reason: Please use [code][/code] tags.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk 3 files to one based on multiple columns

Hi all, I have three files, one is a navigation file, one is a depth file and one is a file containing the measured field of gravity. The formats of the files are; navigation file: 2006 320 17 39 0 0 *nav 21.31542 -157.887 2006 320 17 39 10 0 *nav 21.31542 -157.887 2006 320 17 39 20 0... (2 Replies)
Discussion started by: andrealphus
2 Replies

2. Shell Programming and Scripting

Sorting based on Multiple columns

Hi, I have a requirement whereby I have to sort a flat file based on Multiple Columns (similar to ORDER BY Clause of Oracle). I am getting 10 columns in the flat file and I want the file to be sorted on 1st, 3rd, 4th, 7th and 9th columns in ascending order. The flat file is pipe seperated. Any... (15 Replies)
Discussion started by: dharmesht
15 Replies

3. Shell Programming and Scripting

How to convert 2 column data into multiple columns based on a keyword in a row??

Hi Friends I have the following input data in 2 columns. SNo 1 I1 Value I2 Value I3 Value SNo 2 I4 Value I5 Value I6 Value I7 Value SNo 3 I8 Value I9 Value ............... ................ SNo N (1 Reply)
Discussion started by: ks_reddy
1 Replies

4. Shell Programming and Scripting

sum multiple columns based on column value

i have a file - it will be in sorted order on column 1 abc 0 1 abc 2 3 abc 3 5 def 1 7 def 0 1 -------- i'd like (awk maybe?) to get the results (any ideas)??? abc 5 9 def 1 8 (2 Replies)
Discussion started by: jjoe
2 Replies

5. Shell Programming and Scripting

Sum a column value based on multiple keys

Hi, I have below as i/p file: 5ABC 36488989 K 000010000ASB BYTRES 5PQR 45757754 K 000200005KPC HGTRET 5ABC 36488989 K 000045000ASB HGTRET 5GTH 36488989 K 000200200ASB BYTRES 5FTU ... (2 Replies)
Discussion started by: nirnkv
2 Replies

6. Shell Programming and Scripting

sort by based on multiple columns

Hi, Is there any way to sort a file in cshell by sort command, sorting it by multiple fields, like to sort it first by the second column and then by the first column. Thanks forhead (1 Reply)
Discussion started by: Takeeshe
1 Replies

7. Shell Programming and Scripting

Sort based on Multiple Columns in UNIX

Hi, I would like to sort a list in different ways: 1> Unique based on Field 1 with highest Field 4 For Instance Input: 1678923450;11112222333344;11-1x;2_File.xml 1678923450;11112222333344;11-1x;5_File.xml 1234567890;11113333222244;11-1x;3_File.xml Output: ... (7 Replies)
Discussion started by: DevendraG
7 Replies

8. Shell Programming and Scripting

Merge records based on multiple columns

Hi, I have a file with 16 columns and out of these 16 columns 14 are key columns, 15 th is order column and 16th column is having information. I need to concate the 16th column based on value of 1-14th column as key in order of 15th column. Here are the example file Input File (multiple... (3 Replies)
Discussion started by: Ravi Agrawal
3 Replies

9. Shell Programming and Scripting

Paste columns based on common column: multiple files

Hi all, I've multiple files. In this case 5. Space separated columns. Each file has 12 columns. Each file has 300-400K lines. I want to get the output such that if a value in column 2 is present in all the files then get all the columns of that value and print it side by side. Desired output... (15 Replies)
Discussion started by: genome
15 Replies

10. Shell Programming and Scripting

Do replace operation and awk to sum multiple columns if another column has duplicate values

Hi Experts, Please bear with me, i need help I am learning AWk and stuck up in one issue. First point : I want to sum up column value for column 7, 9, 11,13 and column15 if rows in column 5 are duplicates.No action to be taken for rows where value in column 5 is unique. Second point : For... (12 Replies)
Discussion started by: as7951
12 Replies
jstatd(1)						      General Commands Manual							 jstatd(1)

NAME
jstatd - Virtual Machine jstat Daemon SYNOPSIS
jstatd [ options ] DESCRIPTION
The jstatd tool is an RMI server application that monitors for the creation and termination of instrumented HotSpot Java virtual machines (JVMs) and provides a interface to allow remote monitoring tools to attach to JVMs running on the local host. The jstatd server requires the presence of an RMI registry on the local host. The jstatd server will attempt to attach to the RMI registry on the default port, or on the port indicated by the -p port option. If an RMI registry is not found, one will be created within the jstatd application bound to the port indicated by the -p port option or to the default RMI registry port if -p port is omitted. Creation of an internal RMI registry can be inhibited by specifying the -nr option. NOTE - This utility is unsupported and may or may not be available in future versions of the J2SE SDK. It is not currently available on the Windows 98 and Windows ME platforms. PARAMETERS
options Command-line options. The options may be in any order. If there are redundant or contradictory options, the last option specified will take precedence. OPTIONS
The jstatd command supports the following options: -nr Do not attempt to create an internal RMI registry within the jstatd process when an existing RMI registry is not found. -p port Port number where the RMI registry is expected to be found, or, if not found, created if -nr is not specified. -n rminame Name to which the remote RMI object is bound in the RMI registry. The default name is JStatRemoteHost. If multiple jstatd servers are started on the same host, the name of the exported RMI object for each server can be made unique by by specify- ing this option. However, doing so will require that the unique server name be included in the monitoring client's hostid and vmid strings. -Joption Pass option to the java launcher called by javac. For example, -J-Xms48m sets the startup memory to 48 megabytes. It is a common convention for -J to pass options to the underlying VM executing applications written in Java. SECURITY
The jstatd server installs an instance of RMISecurityPolicy if no other security manager has been installed and therefore requires a secu- rity policy file to be specified. The policy file must conform to the default policy implementation's Policy File Syntax. The policy file can be specified with the -J-Djava.security.policy=file The following policy file will allow the jstatd server to run without any security exceptions. This policy is less liberal then granting all permissions to all codebases, but is more liberal than a policy that grants the minimal permissions to run the jstatd server. grant codebase "file:${java.home}/../lib/tools.jar" { permission java.security.AllPermission; }; To use this policy, copy the text into a file called jstatd.all.policy and run the jstatd server as follows: jstatd -J-Djava.security.policy=jstatd.all.policy For sites with more restrictive security practices, Sun recommends that the jstatd security policy be customized to meet your specific needs. The jstatd server can only monitor JVMs for which it has the appropriate access permissions. However, jstatd does not perform any user level authentication or authorization checking. Therefore, it opens access to the instrumentation exported by the JVMs for which the jstatd server has the appropriate access permissions, allowing arbitrary users on the network to monitor JVMs that might otherwise be inac- cessible. Such exposure may be unacceptable in your environment. Particular care should be exercised when running the jstatd server with credentials that allow wide exposure, such as running the server with root permissions on UNIX based systems. The exposure introduced by the jstatd server can be eliminated by not running the server, thus requiring all monitoring activities to be performed locally. Alternatively, the security policy file can be customized to limit access to specific trusted hosts. REMOTE INTERFACE
The interface exported by the jstatd process is proprietary and is guaranteed to change. Users and developers are discouraged from writing to this interface. EXAMPLES
Here are some examples of starting jstatd. Note that the jstatd scripts automatically start the server in the background. Using Internal RMI Registry This example demonstrates starting jstatd with an internal RMI registry. This example assumes that no other server is bound to the default RMI Registry port (port 1099). jstatd -J-Djava.security.policy=all.policy Using External RMI Registry This example demonstrates starting jstatd with a external RMI registry. rmiregistry& jstatd -J-Djava.security.policy=all.policy This example demonstrates starting jstatd with an external RMI registry server on port 2020. rmiregistry 2020& jstatd -J-Djava.security.policy=all.policy -p 2020 This example demonstrates starting jstatd with an external RMI registry on port 2020, bound to name AlternateJstatdServerName. rmiregistry 2020& jstatd -J-Djava.security.policy=all.policy -p 2020 -n AlternateJstatdServerName Inhibiting creation of an in-process RMI registry This example demonstrates starting jstatd such that it will not create a RMI registry if one is not found. This example assumes an RMI reg- istry is already running. If it is not, an appropriate error message is emitted. jstatd -nr Enabling RMI logging capabilities This example demonstrates starting jstatd with RMI logging capabilities enabled. This technique is useful as a troubleshooting aid or for monitoring server activities. jstatd -J-Djava.security.policy=all.policy -J-Djava.rmi.server.logCalls=true This example uses the Bourne Shell syntax for setting environment variables, other shells or command interpreters may require different syntax. SEE ALSO
java(1) jps(1) jstat(1) rmiregistry(1) 13 June 2004 jstatd(1)
All times are GMT -4. The time now is 08:17 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy