Help within a for loop!!!


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Help within a for loop!!!
# 1  
Old 03-29-2007
Help within a for loop!!!

Hi,,

I have two files which come on daily basis.Somthing like

BB_1002985_100
BB_1002985_101

and the nextday,it will come with incremental values,Something like

BB_1002985_102
BB_1002985_103 and so on....

I want this to be put inside a loop,with the values changing dynamically and with a max value of 1000 and once it reaches,it should start from 001 and so on..

Your help is really appreciated,
Thanks,
Kumar
# 2  
Old 03-29-2007
FileName Generation

Hi,
If i got your question hope this could be a solution,

PHP Code:
#!/bin/ksh
 
IDX_HOLD=/tmp/LastIndex.hold
 let MAX
=10
 let INI
=0
 let PREV_INDEX

if [[ ! -e $IDX_HOLD ]] ; then
    touch $IDX_HOLD
    PREV_INDEX
=$INI
else
   
PREV_INDEX=$(tail -1 $IDX_HOLD)
   if [[ 
PREV_INDEX -ge MAX ]] ; then
         INI
=PREV_INDEX=0
   
else
        
INI=$PREV_INDEX
    fi
fi

while [[ INI -le MAX ]] ; do
       
touch /tmp/a_file_${INI}
       ((
INI++))
       
touch /tmp/b_file_${INI}
       ((
INI++))
       break
done

PREV_INDEX
=$INI

echo "The Last file created has the index of $PREV_INDEX"

echo "$INI$IDX_HOLD 
Note:
Here the MAX value is set to 10.Also the IDX_FILE for holding the index of the last created file is saved in /tmp folder,incase if you use this script choose another directory ,so that IDX_FILE file is not deleted the next day.

Please let us know if this answers your question.Experts comment on this approach.

Thanks,
Nagarajan Ganesan.
# 3  
Old 03-30-2007
Quote:
Originally Posted by ennstate
Hi,
If i got your question hope this could be a solution,

PHP Code:
#!/bin/ksh
 
IDX_HOLD=/tmp/ss/LastIndex.hold
 let MAX
=10
 let INI
=0
 let PREV_INDEX

if [[ ! -e $IDX_HOLD ]] ; then
    touch $IDX_HOLD
    PREV_INDEX
=$INI
else
   
PREV_INDEX=$(tail -1 $IDX_HOLD)
   if [[ 
PREV_INDEX -ge MAX ]] ; then
         INI
=PREV_INDEX=0
   
else
        
INI=$PREV_INDEX
    fi
fi

while [[ INI -le MAX ]] ; do
       
touch /tmp/ss/a_file_${INI}
       ((
INI++))
       
touch /tmp/ss/b_file_${INI}
       ((
INI++))
       break
done

PREV_INDEX
=$INI

echo "The Last file created has the index of $PREV_INDEX"

echo "$INI$IDX_HOLD 
Note:
Here the MAX value is set to 10.Also the IDX_FILE for holding the index of the last created file is saved in /tmp folder,incase if you use this script choose another directory ,so that IDX_FILE file is not deleted the next day.

Please let us know if this answers your question.Experts comment on this approach.

Thanks,
Nagarajan Ganesan.
When i execute the above code,it says....

> ./bx.sh
./bx.sh[21]: INI++: more tokens expected
>
# 4  
Old 03-30-2007
I guess you have other shell as home shell instead of ksh(korn shell)
invoke the script with
Code:
ksh scriptname

# 5  
Old 03-30-2007
Quote:
Originally Posted by Dhruva
I guess you have other shell as home shell instead of ksh(korn shell)
invoke the script with
Code:
ksh scriptname

I have mentioned in the script itself right,i mean on which shell the program as to execute.I did try your suggestion,but still the same mesg..
> ksh bx.sh
bx.sh[21]: INI++: more tokens expected
>
# 6  
Old 03-30-2007
replace while loop with
Code:
while [[ INI -le MAX ]] ; do 
       touch a_file_${INI} 
       INI=$((INI+1)) 
       touch b_file_${INI} 
       INI=$((INI+1)) 
       break 
done

# 7  
Old 03-30-2007
Quote:
Originally Posted by Dhruva
replace while loop with
Code:
while [[ INI -le MAX ]] ; do 
       touch a_file_${INI} 
       INI=$((INI+1)) 
       touch b_file_${INI} 
       INI=$((INI+1)) 
       break 
done


Thanks a lot Dhruva....It is working fine now....I did see your reponse to the sendmail posts....I'm stuck with a mail script myself....The script isnt throwing any errors...but it isnt sending any mails too..

can you please take a look at this thread....

http://unix.com/showthread.php?t=36544

Thanks again,
Kumar
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

For loop or while loop from a text file

Hi all, i developed a script to measure the uptime of a process in a Solaris 10/11 environments. All is well, but i came across a situation where there are multiple processes of the same name. Basically i have the following result file: beVWARS 13357 19592122 beVWARS 14329 19591910... (4 Replies)
Discussion started by: nms
4 Replies

2. Shell Programming and Scripting

awk loop using array:wish to store array values from loop for use outside loop

Here's my code: awk -F '' 'NR==FNR { if (/time/ && $5>10) A=$2" "$3":"$4":"($5-01) else if (/time/ && $5<01) A=$2" "$3":"$4-01":"(59-$5) else if (/time/ && $5<=10) A=$2" "$3":"$4":0"($5-01) else if (/close/) { B=0 n1=n2; ... (2 Replies)
Discussion started by: klane
2 Replies

3. Shell Programming and Scripting

Reset while loop to loop same file multiple times

Hi, I want to read file multiple times. Right now i am using while loop but that is not working. ex. While read line do while read line2 do echo stmt1 #processing some data based on data., done < file2.txt done < file1.txt # This will have 10... (4 Replies)
Discussion started by: tmalik79
4 Replies

4. Shell Programming and Scripting

Array Variable being Assigned Values in Loop, But Gone when Loop Completes???

Hello All, Maybe I'm Missing something here but I have NOOO idea what the heck is going on with this....? I have a Variable that contains a PATTERN of what I'm considering "Illegal Characters". So what I'm doing is looping through a string containing some of these "Illegal Characters". Now... (5 Replies)
Discussion started by: mrm5102
5 Replies

5. Shell Programming and Scripting

My for loop decides to become an infinite loop?

Hi, I was debating if I should put this in the dummies or scripts section, I apologize in advance if I chose poorly. Fairly new to Unix and BASH scripting but I thought I made it fairly well given my limited understanding. However, the output indicates that it's looping and I'm ending up with a... (5 Replies)
Discussion started by: gotreef
5 Replies

6. Shell Programming and Scripting

S# in a for loop - concatenate $(loop counter)

Hi, hope I am posting in the right section. My problem is that I have 2 or more arguments passed and I want to check if the arguments passed exists or not. The first argument should not exist and the remaining others should exist. example: ./shells.sh argument1 argument2 argument3 ... (5 Replies)
Discussion started by: fight4love
5 Replies

7. Shell Programming and Scripting

BASH loop inside a loop question

Hi all Sorry for the basic question, but i am writing a shell script to get around a slightly flaky binary that ships with one of our servers. This particular utility randomly generates the correct information and could work first time or may work on the 12th or 100th attempt etc !.... (4 Replies)
Discussion started by: rethink
4 Replies

8. Shell Programming and Scripting

Null Handling in Until loop. . .loop won't stop

Hi Im running this script, which is supposed to find the max value build some tables and then stop running once all the tables are built. Thing is , it keeps assigning a null value to $h and then $g is null so it keep building tables i.e. testupdateNUL. How can I stop this? Here is what I have: ... (4 Replies)
Discussion started by: brandono66
4 Replies

9. Shell Programming and Scripting

Using variables created sequentially in a loop while still inside of the loop [bash]

I'm trying to understand if it's possible to create a set of variables that are numbered based on another variable (using eval) in a loop, and then call on it before the loop ends. As an example I've written a script called question (The fist command is to show what is the contents of the... (2 Replies)
Discussion started by: DeCoTwc
2 Replies

10. Shell Programming and Scripting

Is there a better way I could have run this loop. (For loop with two variables)

Sorry for such a dreadful title, but I'm not sure how to be more descriptive. I'm hoping some of the more gurutastic out there can take a look at a solution I came up with to a problem, and advice if there are better ways to have gone about it. To make a long story short around 20K pieces of... (2 Replies)
Discussion started by: DeCoTwc
2 Replies
Login or Register to Ask a Question