Visit The New, Modern Unix Linux Community


[Solved] How to increment and add variable length numbers to a variable in a loop?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting [Solved] How to increment and add variable length numbers to a variable in a loop?
# 1  
[Solved] How to increment and add variable length numbers to a variable in a loop?

Hi All,


I have a file which has hundred of records with fixed number of fields. In each record there is set of 8 characters which represent the duration of that activity. I want to sum up the duration present in all the records for a report. The problem is the duration changes per record so I do not know how to add it up.
Please help me since doing this task manually is really very frustrating.

---------- Post updated at 08:07 PM ---------- Previous update was at 08:06 PM ----------

Im on HP-UX B.11.31
# 2  
Hard to even guess at a solution without seeing a sample of the text file.
Please include a sample of the file, and remember to enclose it in CodeTags.
# 3  
can you post a sample of the file and required output ?
# 4  
Dears,

I have pasted some sample lines and highlighted the duration in bold:

Code:
0136530213AN019604609133GC0549465654          blackberry.net          20130219092609000001272               700000000172100130300000000000012120000121242003           000000000        20130219092609M2N8 0518557041297314243           11827013400000084.23.99.130    00000000000000000007000000000000000000000C00000101                                    0
0147200213AN019604509103GC0540246180          web2                    201302191009280000001410567302555     000000000123000000100000000000052700000527042003           000000000        20130219100928M2N8 0518546907805867587           28242021710000084.23.98.130    00000000000000501000000000000000000000000C23230301                                    0
0157650213AN019604509103GC0541471076          web2                    201302190926220000003030563880041     000000000100500000100000000000000000000000042003           000000000        20130219042619M2N8 05164473711405660658          60632070300000084.23.99.52     00000000000000501000000000000000000000000C23220301                                    0
0158110213AN019604609103GC0542371570          web2                    20130219102258000000101               700000010172100140300000010000046380000463842003           000000000        20130219102255M2N8 0518559338163034119           15216013260000084.23.99.134    00000000000000000007000000000000000000000C00000301                                    0
0172350213AN019604609103GC0564271836          web2                    20130219101346000018624               G00000205172100110800000205000002770000027742003           000000000        20130219092837M2N8 0518113891313183537           32174034330000084.23.99.15     00000000000000000104000000000000000000000C00000301                                    0
0173080213AN019604609132GC0568246272          blackberry.net          20130219095540000000001               700000000172100130300000000000010260000102642003           000000000        20130219095540M2N8 0518553727220908279           27201038030000084.23.99.14     00000000000000000007000000000000000000000C00000101                                    0
0188310213AN019604609132GC0569835060          blackberry.net          20130219082549000000133               700000000172100130300000000000013170000131742003           000000000        20130219072549M2N8 0517617595868822730           54733020370000084.23.99.53     00000000000000000007000000000000000000000C00000101                                    0
0189090213AN019604509113GC0548093306          wap2                    201302191012140000000310544554484     000000000120100000100000000000000250000002542003           000000000        20130219101214M2N8 0518555817805883875           53151021360000084.23.98.130    00000000000000501000000000000000000000000C23230101                                    0


Last edited by Corona688; 02-19-2013 at 12:24 PM.. Reason: modified code tags
# 5  
Code:
awk ' /^[0-9]/{s+=substr($0,85,9)}END{printf "%09d\n", s } ' filename

With code tags, the data looks different! No need for condition, just action:
Code:
awk '{s+=substr($0,85,9)}END{printf "%09d\n", s } ' file

This User Gave Thanks to Yoda For This Post:
# 6  
Thanks a lot..it works great..

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #680
Difficulty: Easy
Solaris was written in the C and C++ languages.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Convert variable length record to fixed length

Hi Team, I have an issue to split the file which is having special chracter(German Char) using awk command. I have a different length records in a file. I am separating the files based on the length using awk command. The command is working fine if the record is not having any... (7 Replies)
Discussion started by: Anthuvan
7 Replies

2. Shell Programming and Scripting

[SOLVED] UNIX FOR loop to read a variable with multiple values

Hi, I have a variable which stores file names as a result of find command. I need to delete all these files one by one, i.e. by a loop. Can anyone tell me how can it be done? The variable f2d has the file names like these abc.txt bcd.txt fff.txt gef.txt Now I have used a loop as... (12 Replies)
Discussion started by: jhilmil
12 Replies

3. Shell Programming and Scripting

[Solved] Assigning a value to a variable name then running a loop on these values

Hi, I was wondering if anyone could assist me for (what is probably) a very straightforward answer. I have input files containing something like File 1 Apples Apples Apples Apples File 2 Bananas Bananas Bananas Bananas (4 Replies)
Discussion started by: hubleo
4 Replies

4. Shell Programming and Scripting

changing a variable length text to a fixed length

Hi, Can anyone help with a effective solution ? I need to change a variable length text field (between 1 - 18 characters) to a fixed length text of 18 characters with the unused portion, at the end, filled with spaces. The text field is actually field 10 of a .csv file however I could cut... (7 Replies)
Discussion started by: dc18
7 Replies

5. Shell Programming and Scripting

Split variable length and variable format CSV file

Dear all, I have basic knowledge of Unix script and her I am trying to process variable length and variable format CSV file. The file length will depend on the numbers of Earnings/Deductions/Direct Deposits. And The format will depend on whether it is Earnings/Deductions or Direct Deposits... (2 Replies)
Discussion started by: chechun
2 Replies

6. Shell Programming and Scripting

Increment of a variable

Hi All, I have a variable n that stores a number. Eg. echo $n comes out to be 120. I need to print 121 using echo command on n. Please advice. Thanks in advance !! (4 Replies)
Discussion started by: learning_skills
4 Replies

7. Shell Programming and Scripting

Make variable length record a fixed length

Very, very new to unix scripting and have a unique situation. I have a file of records that contain 3 records types: (H)eader Records (D)etail Records (T)railer Records The Detail records are 82 bytes in length which is perfect. The Header and Trailer records sometimes are 82 bytes in... (3 Replies)
Discussion started by: jclanc8
3 Replies

8. Shell Programming and Scripting

how to add Loop number to variable name?

Hi there, I need to add a sequence of numbers to existing variables within the script to be able to call the variable automatically. Somehow it's just printing the loop number. Here's what I've got so far. :eek: #!/bin/sh FOLDER1=foo FOLDER2=bar FOLDER3=beer for ((a=1; a <= 3 ; a++))... (2 Replies)
Discussion started by: siul0_0
2 Replies

9. Shell Programming and Scripting

the given code goes in infinite loop and does not increment variable i

code is as #!/bin/sh i=1; while do welcome $i times; i='expr $i+1'; done exit 0; (6 Replies)
Discussion started by: mrityunjay22
6 Replies

10. Shell Programming and Scripting

creating a fixed length output from a variable length input

Is there a command that sets a variable length? I have a input of a variable length field but my output for that field needs to be set to 32 char. Is there such a command? I am on a sun box running ksh Thanks (2 Replies)
Discussion started by: r1500
2 Replies

Featured Tech Videos