02-01-2009
actual data
here is some actual data since I dont understand how this works.
Quote:
MIL 000067 1 .030 X 1.125 CONTACT TIP EACH 0 2 072-08 A
MIL 000067 1 .030 X 1.125 CONTACT TIP EACH 131 0 053-09 H088D4
MIL 000068 1 .035 X 1.125 CONTACT TIP EA 0 10 072-07 A
MIL 000068 1 .035 X 1.125 CONTACT TIP EA 327 0 053-10 H088D5
MIL 000069 1 .045 X 1.125 CONTACT TIP EA 0 6 072-09 A
MIL 000069 1 .045 X 1.125 CONTACT TIP EA 176 0 053-11 H088D6
this is the actual data I am working with. lets call it file 'data'. the numbers line up perfectly on the command line.
here is my script
Quote:
gawk '
{ FIELDWIDTHS = " 58 10 11 8 " }
$2 != $3
{ sum+=$2 }
{ print sum }' $1
I set fieldwidths as there are random spaces that mess up the process.
so $1 = all the detail up to the first number, $2 is on number and $3 is the other. $4 is the junk on the end.
I run this like
./script data
my output
Quote:
0
MIL 000067 1 .030 X 1.125 CONTACT TIP EACH 0 2 072-08 A
0
MIL 000067 1 .030 X 1.125 CONTACT TIP EACH 131 0 053-09 H088D4
131
MIL 000068 1 .035 X 1.125 CONTACT TIP EA 0 10 072-07 A
131
MIL 000068 1 .035 X 1.125 CONTACT TIP EA 327 0 053-10 H088D5
458
MIL 000069 1 .045 X 1.125 CONTACT TIP EA 0 6 072-09 A
458
MIL 000069 1 .045 X 1.125 CONTACT TIP EA 176 0 053-11 H088D6
634
here is the output. I see that it is adding up column $2 and printing it after the line but it does not reset the number on part number changes. I took the END out as I wanted the numbers after each part number.
How do I have the sum reset after each change in part number? (change in $1)
also, what is the appropriate way to sum both $2 and $3?
thanks!
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
can anyone help me how do i add the colums using awk seperated by character @. for eg i have
3@4
2@9
5@1
the result should be
10 14
i tried using
{ sum+= $1 }
END { print sum }
but it just gives the result 10. can anyone help me with this one
thank you and best regards (7 Replies)
Discussion started by: phone_book
7 Replies
2. Shell Programming and Scripting
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
3. Shell Programming and Scripting
Hello Members,
I have a csv file in the format below. Need help with awk statement to break nth column into 3 separate columns and export the changes to new file.
input file --> file.csv
cat file.csv|less
"product/fruit/mango","location/asia/india","type/alphonso"
need output in... (2 Replies)
Discussion started by: awk-admirer
2 Replies
4. Shell Programming and Scripting
Hi,
I have a similar input format-
A_1 2
B_0 4
A_1 1
B_2 5
A_4 1
and looking to print in this output format with headers. can you suggest in awk?awk because i am doing some pattern matching from parent file to print column 1 of my input using awk already.Thanks!
letter number_of_letters... (5 Replies)
Discussion started by: prashob123
5 Replies
5. UNIX for Dummies Questions & Answers
I have the code for the below things..
File1 has the content as below
8859 0 subscriberCreate
18 0 subscriberPaymentMethodChange
1650 0 subscriberProfileUpdate
7668 0 subscriberStatusChange
13 4020100 subscriberProfileUpdate
1 4020129 subscriberStatusChange
2 4020307 subscriberCreate
8831... (5 Replies)
Discussion started by: Mahen
5 Replies
6. Shell Programming and Scripting
Input :-
Hd1;Hd2:hd3;Hd4;Hd5
X;1;2;3;4
Y;2;3;5;6
Z;3;5;6;7
X;10;11;24;16
Y;11;23;21;1
Z;10;13;14;15
X;0;1;2;0
K;0;0;0;0
K;0;0;0;0
I want Sum Data base on first column;
Hd1;Hd2:hd3;Hd4;Hd5
X;11;14;29;20
Y;12;26;26;7
Z;13;18;20;22
K;0;0;0;0 (4 Replies)
Discussion started by: pareshkp
4 Replies
7. Shell Programming and Scripting
Hello everyone
I am a beginner in Shell scripting. Need your help to achieve desired result.
I have a file (sample format below)
001g8aX0007jxLz xxxxxxxxxxxxxxx 9213974926411 CO-COMM-133 CO-L001-DLY 7769995578239 44938 1 1
... (1 Reply)
Discussion started by: Rohit Mallah
1 Replies
8. Shell Programming and Scripting
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... (1 Reply)
Discussion started by: as7951
1 Replies
9. Shell Programming and Scripting
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
10. UNIX for Beginners Questions & Answers
I have a file abc.csv, from which I need column 24(PurchaseOrder_TotalCost) to get the sum_of_amounts with date and row count into another file say output.csv
abc.csv-
UTF-8,,,,,,,,,,,,,,,,,,,,,,,,,
... (6 Replies)
Discussion started by: Tahir_M
6 Replies
LEARN ABOUT FREEBSD
isprint
ISPRINT(3) BSD Library Functions Manual ISPRINT(3)
NAME
isprint -- printing character test (space character inclusive)
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <ctype.h>
int
isprint(int c);
DESCRIPTION
The isprint() function tests for any printing character, including space (' '). The value of the argument must be representable as an
unsigned char or the value of EOF.
In the ASCII character set, this includes the following characters (with their numeric values shown in octal):
040 sp 041 ``!'' 042 ``"'' 043 ``#'' 044 ``$''
045 ``%'' 046 ``&'' 047 ``''' 050 ``('' 051 ``)''
052 ``*'' 053 ``+'' 054 ``,'' 055 ``-'' 056 ``.''
057 ``/'' 060 ``0'' 061 ``1'' 062 ``2'' 063 ``3''
064 ``4'' 065 ``5'' 066 ``6'' 067 ``7'' 070 ``8''
071 ``9'' 072 ``:'' 073 ``;'' 074 ``<'' 075 ``=''
076 ``>'' 077 ``?'' 100 ``@'' 101 ``A'' 102 ``B''
103 ``C'' 104 ``D'' 105 ``E'' 106 ``F'' 107 ``G''
110 ``H'' 111 ``I'' 112 ``J'' 113 ``K'' 114 ``L''
115 ``M'' 116 ``N'' 117 ``O'' 120 ``P'' 121 ``Q''
122 ``R'' 123 ``S'' 124 ``T'' 125 ``U'' 126 ``V''
127 ``W'' 130 ``X'' 131 ``Y'' 132 ``Z'' 133 ``[''
134 ``'' 135 ``]'' 136 ``^'' 137 ``_'' 140 ```''
141 ``a'' 142 ``b'' 143 ``c'' 144 ``d'' 145 ``e''
146 ``f'' 147 ``g'' 150 ``h'' 151 ``i'' 152 ``j''
153 ``k'' 154 ``l'' 155 ``m'' 156 ``n'' 157 ``o''
160 ``p'' 161 ``q'' 162 ``r'' 163 ``s'' 164 ``t''
165 ``u'' 166 ``v'' 167 ``w'' 170 ``x'' 171 ``y''
172 ``z'' 173 ``{'' 174 ``|'' 175 ``}'' 176 ``~''
RETURN VALUES
The isprint() function returns zero if the character tests false and returns non-zero if the character tests true.
COMPATIBILITY
The 4.4BSD extension of accepting arguments outside of the range of the unsigned char type in locales with large character sets is considered
obsolete and may not be supported in future releases. The iswprint() function should be used instead.
SEE ALSO
ctype(3), iswprint(3), ascii(7)
STANDARDS
The isprint() function conforms to ISO/IEC 9899:1990 (``ISO C90'').
BSD
July 17, 2005 BSD