Automatic counter script


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Automatic counter script
# 1  
Old 05-03-2012
Automatic counter script

Hello,

I am having trouble calculating some numbers and I was hoping someone could help me solve this.

I have one file with 1 column and what I'm trying to do is add up the lines until a certain value is reach, then jump to where it last finished counting and continue.

so for ex: if I want to count up until the value of 10 is reached in the file below, then I would stop in line 7 And then continue counting in line 8 until the end of the file.

Quote:
Col1
2
1
3
1
2
1
4
5
2
1
1
does anyone have any ideas?
# 2  
Old 05-03-2012
Without seeing the output you want, I'm left guessing what you really want, but so far it sounds like simple modulous.

Code:
awk '{ N += $1; $2=N%10 } 1' filename

# 3  
Old 05-03-2012
What I am trying to do is just add up a column by segments, and a segment will be defined when the addition of several lines add up to a certain value -- 10 in this case.

so if the input is:

Quote:
Col1
2
1
3
1
2
1
4
5
2
1
1
then the output should be

Quote:
col1 col2
2
1
3
1
2
1 10
4
5
1 10
2
1

does this help?
# 4  
Old 05-03-2012
Code:
awk 'N>=10 { $2=10; N=0 } 1; { N+=$1 }' filename

# 5  
Old 05-03-2012
Thanks! that seems to be in the direction I am looking for!

When I tried

Quote:
awk 'N==10 { $2="True"; N=0 } 1; { N+=$1 }' filename
however, it did not produce the same result as >=. Why is that?
# 6  
Old 05-06-2012
Because it's possible for it to skip straight past 10. Sometimes it might end up 11, or 12, if the numbers don't sum to an even 10.
# 7  
Old 05-06-2012
what does 1 do in the script?

Hi, Corona688:
Can you please explain a little bit what the "1" means in your script?
Code:
awk 'N>=10 { $2=10; N=0 } 1; { N+=$1 }' filename

I think I can catch the rest except the "1". Thanks
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Homework & Coursework Questions

Help with simple script with counter

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 to create a script that checks a file for specific attributes. Read, write, execute, if the file is empty,... (13 Replies)
Discussion started by: silencep77
13 Replies

2. Shell Programming and Scripting

How to use counter to run the script to limit number?

I want to run my shell script to the limit number.Suppose I know in advance that MAX=5 then I want that my script run 5 times only.Something like below$ vi testingMAX=5COMMAND="ssh -l stpuser VHLDVWSAD001 /projects/st/utils/deploy/deployall.sh >/dev/null 2>&1 &" ; sleep 20;count=0while... (2 Replies)
Discussion started by: anuragpgtgerman
2 Replies

3. Shell Programming and Scripting

Incrementing the date depending on the Counter (parameter) passed to the script

Hello Everyone, I have been trying to complete a shell script where, I need to increment the date depending on the file (depending on the date) availability on the remote server. i.e. Basically, I will be passing a counter (like parameter 1 or 2 or 3 or 4). First I will check for the... (1 Reply)
Discussion started by: filter
1 Replies

4. Shell Programming and Scripting

How to display a counter in shell script?

Hi, I am writing a script which processes large number of files in a directory. I wanto display a counter which increment after processing each file. I am processing each file in a for loop. If I echo a variable with its value increasing with each file, I will get around 5000 lines as output.... (10 Replies)
Discussion started by: jaiseaugustine
10 Replies

5. Shell Programming and Scripting

Reset the counter in shell script

I am executing the following script using 'awk -f process.awk out' where 'out' is the input file which consists of 5000 sequences. Each time it takes one sequence, run the below program by creating a directory, run the mfold command within that directory, running another shell script 'final5' and... (2 Replies)
Discussion started by: kswapnadevi
2 Replies

6. Shell Programming and Scripting

cant get a counter to work in bash scipt, this is calling expect script

I have looked high and low, tryed lots of diffrent things but cant get a simple counter to work right. what i need is to increase a count ever time it finishes the test, pass or fail. example TEST PASS 1, NEXT TEST PASS 2, I curently have set foo o while {$foo <=5} { incr foo puts... (1 Reply)
Discussion started by: melvin
1 Replies

7. UNIX for Advanced & Expert Users

Automatic script

Hi, is it possible to automatically run a script (bash) when an event occurs? I mean, let's say that I (or one of my users) plug in a flash memory (USB) ... is it possible to run a script every time I do this action (let's say to log user, date and other infos on a file)? Thanks! Bye... (5 Replies)
Discussion started by: TShirt
5 Replies

8. Shell Programming and Scripting

Accumulate counter in script

Hi, I'm new to unix and have a problem? I'm writing a basic script in ksh and it is a basic quiz with 5 questions. I need to be able to accumulate the correct answers at the end and echo out the total correct answers, I cannot work it out? Please see script so far. If anyone can help that will... (2 Replies)
Discussion started by: Pablo_beezo
2 Replies

9. Shell Programming and Scripting

Counter Script..help please

I have generated a script that will email a list of people if a certain PID is not running, using "mailx". I have the script running every 5 minutes as a cron job. I want the script to stop sending an email, if the email has been sent 5 times (meaning PID is dead). I want this so that my... (3 Replies)
Discussion started by: Sunguy222
3 Replies

10. UNIX for Dummies Questions & Answers

Error in Script (counter)

Hello: Executing following script i'm getting error: 1=1+1: 0403-058 Assignment requires an lvalue. It's not assuming the counter but i don't know why. Some hint? Thank you very much in advance. #!/bin/ksh <path>/tiempos.txt num_exe=1 TIEMPOS=<path>/tiempos.txt while ] do (2 Replies)
Discussion started by: Felix2511
2 Replies
Login or Register to Ask a Question