Nested for loop not ending


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Nested for loop not ending
# 1  
Old 06-21-2012
Bug Nested for loop not ending

Hi All,

Need help on below script

Code:
for g in `cat /home/sid.txt`
do
for h in `cat /home/dev.txt`
do
symmaskdb -sid $g -dev $h list assign |grep FA |head -1|awk '{print $2}' > tt1.txt
done
done

cat /home/sid.txt
**************
Code:
123
235
456

cat /home/dev.txt
***************
Code:
35
67
88

I sould get the loop to run like below

Code:
symmaskdb -sid 123 -dev 35 list assign |grep FA |head -1|awk '{print $2}' 
symmaskdb -sid 235 -dev 67 list assign |grep FA |head -1|awk '{print $2}' 

symmaskdb -sid 456 -dev 88 list assign |grep FA |head -1|awk '{print $2}' 

But current the lopp is running like this

Code:
symmaskdb -sid 123 -dev 35 list assign |grep FA |head -1|awk '{print $2}' 
symmaskdb -sid 123 -dev 67 list assign |grep FA |head -1|awk '{print $2}' 
symmaskdb -sid 123 -dev 88 list assign |grep FA |head -1|awk '{print $2}' 
symmaskdb -sid 235 -dev 35 list assign |grep FA |head -1|awk '{print $2}' 
symmaskdb -sid 235 -dev 67 list assign |grep FA |head -1|awk '{print $2}' 
symmaskdb -sid 235 -dev 88 list assign |grep FA |head -1|awk '{print $2}' 
symmaskdb -sid 456 -dev 35 list assign |grep FA |head -1|awk '{print $2}' 
symmaskdb -sid 456 -dev 67 list assign |grep FA |head -1|awk '{print $2}' 
symmaskdb -sid 456 -dev 88 list assign |grep FA |head -1|awk '{print $2}' 


Moderator's Comments:
Mod Comment Please use [code]...[/code] tags instead of [quote]...[/quote] tags for code and samples



Last edited by Scrutinizer; 06-21-2012 at 04:26 AM.. Reason: quote tags => code tags
# 2  
Old 06-21-2012
Try:
Code:
while read g && read h <&3
do
  symmaskdb -sid $g -dev $h list assign |grep FA |head -1|awk '{print $2}'
done </home/sid.txt 3</home/dev.txt >tt1.txt

# 3  
Old 06-21-2012
Thanks that one working. Now I need add this to my main script.

But now I have two issues
1. Nested while loop not ending.
2. If we use single greater than arrow > it means it will not append right, in my case the output data is getting appended

Main script. Pls let me know where i am dong mistake
Code:
for f in `cat rdf2-dg.txt`
do
  symrdf -g $f query >> /home/srdf-query-report.txt
done

cat /home/srdf-query-report.txt|grep -i "Remote Symmetrix ID"|awk '{print $5}'> /home/sid.txt
cat /home/srdf-query-report.txt|grep -i "DEV001"|awk '{print $7}' > /home/dev.txt

while read g && read h <&3
do
  symmaskdb -sid $g -dev $h list assign |grep FA |head -1|awk '{print $2}' > tt1.txt
done </home/sid.txt 3</home/dev.txt 

while read k && read l <&3
do
  symmaskdb -sid $k -wwn $l list devs >> /home/srdf-query-report.txt
  symmaskdb -sid $k -wwn $l list devs|grep "User-generated Name"|awk '{print $4}'|sed "s/[/][0-9]*//" >tt2.txt
done </home/sid.txt 3<tt1.txt

while read i && read j <&3
do
  symmaskdb -sid $i -dev $j list assign |grep FA |head -1|awk '{print $2}'
done </home/sid.txt 3<tt2.txt >> /home/srdf-query-report.txt


Last edited by Scrutinizer; 06-21-2012 at 06:28 AM.. Reason: code tags instead of quote tags, removed formatting, added indenting
# 4  
Old 06-21-2012
Like this:
Code:
symmaskdb -sid $g -dev $h list assign |grep FA |head -1|awk '{print $2}' > tt1.txt

The output file gets overwritten, each time the symmaskdb command is run in the loop..
# 5  
Old 06-21-2012
Quote:
symmaskdb -sid $g -dev $h list assign |grep FA |head -1|awk '{print $2}' > tt1.txt
I am already using that only still it was not over written it was appending dont know. FYI i am using cygwin on windows.

What about for my 1 question any help

1. Nested while loop not ending. Is there any syntax mistake on my script?
# 6  
Old 06-21-2012
What nested while loop is not ending? I do not see one in your script..

If you use command > file inside a loop only the output of the last command will be in that file once the loop finishes....

Last edited by Scrutinizer; 06-21-2012 at 07:08 AM..
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

If loop not ending

Hi, The first if loop in the script not ending and going to infinite loop. #!/usr/bin/ksh set -vx lc=1 st_date=$(date "+%Y%m%d") LOGFILE=/home/infa_shared/OM_ftp_transfer.log.$st_date file="/home/infa_shared/OM_WF.log.$st_date" while ]; do if ] then sleep 15 let lc=lc+1 print... (4 Replies)
Discussion started by: nag_sathi
4 Replies

2. Shell Programming and Scripting

Nested if loop

Hi Team, I just want to check whether my nested if loop used is correct or not. if ] if ] export1 else export2 fi else if ] export3 else export4 fi fi Thanks Shiva (5 Replies)
Discussion started by: shivashankar_S
5 Replies

3. Shell Programming and Scripting

Nested for loop in bash

Hi, How to use values in one for loop to other for loop. say "$sf_rel" variable has values "2011/W2 2011/G2" I want to use these values in inner for loop to process properly. $branch variable has G2 and 6 What is happening is outer for loop $i has 2011/W2 it is entering into inner... (3 Replies)
Discussion started by: Anjan1
3 Replies

4. Shell Programming and Scripting

Nested loop in Unix

Hi, I have the following script which is two while loops, but it is working only for the Inner loop without going back to the outer loop. the aim of this script is to remove data files from memory after each five times for each setting of the rotate parameter #!/bin/csh set hdir =... (1 Reply)
Discussion started by: moon218
1 Replies

5. Shell Programming and Scripting

Nested Loop becomes slow

Hello I have some nested loop to display files and form menu item. The part of the code is below. I found that after runnining the script for a while the display becomes very slow. Does ksh shell provided any easy way to release variables, reinit, etc. while ];do script=0 ... (2 Replies)
Discussion started by: ekb
2 Replies

6. Shell Programming and Scripting

nested loop problem

Please see the following script. basic="a b c" advance="d e f" A="basic advance" for g in $A do echo $g done The result would be obviously basic advance I want to ask how can i get the following result using $A in for loop a b c (5 Replies)
Discussion started by: mmunir
5 Replies

7. Shell Programming and Scripting

Variable in While Loop Nested If

Hi all, I'm having problems with the setting a variable in a nested if statement. It doesn't seem to change even if it mets the 'if' condition. My script essentially looks for a user name from the output from a kerberos command. When I find the user name, I tried to change a variable and exit... (6 Replies)
Discussion started by: geass
6 Replies

8. Shell Programming and Scripting

never ending loop

Guys I have a script like the one below. One script executes another script in a loop. but i want the other script within the main script to be executed only 3 times. the script within the main script again references the main script after its execution. plz help. while } ] do... (21 Replies)
Discussion started by: ragha81
21 Replies

9. Shell Programming and Scripting

nested loop

I have two do loops. When I break of the inner loop it doesn't go back to the outer loop but exit the program. (5 Replies)
Discussion started by: chinog
5 Replies
Login or Register to Ask a Question