"for" Loop Problem


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers "for" Loop Problem
# 1  
Old 10-03-2007
Data "for" Loop Problem

Hello Everyone,

I'm having a wee bit of a problem. I would like to pass a DB2 query to a variable and then using that variable to perform a 'For' loop.

For example....
Code:
tempfile1=`db2 -x "select cast(OBJECT_ID as integer) from $temp_table where SEQUENCE_NO = $sequence_no"` 

for id in ${tempfile1}
do  

statename=`db2 -x "select STATE_NAME from $temp_table where object_id = $id"`
domain_name=`db2 -x "select domain_name from $temp_table where object_id = $id"`

echo "ID = [$id]"
echo "State = [$statename]"
echo "Domain = [$domain_name]"

done

The problem is when I run this if there are multiple object_id's with the same value but not the same state_name then when it's passed through an echo it looks like this....

Code:
ID = [5132]
State = [State1 State2]
Domain = [Domain1 Domain2]
ID = [5146]
State = [State1]
Domain = [Domain1]
ID = [5156]
State = [State1 State2]
Domain = [Domain1 Domain2]
ID = [5132]
State = [State1 State2]
Domain = [Domain1 Domain2]
ID = [5156]
State = [State1 State2]
Domain = [Domain1 Domain2]

However I would like it to look like this...
Code:
ID = [5132]
State = [State1]
Domain = [Domain1]
ID = [5146]
State = [State1]
Domain = [Domain1]
ID = [5156]
State = [State1]
Domain = [Domain1]
ID = [5132]
State = [State2]
Domain = [Domain2]
ID = [5156]
State = [State2]
Domain = [Domain2]

Would someone be able to see what I'm doing wrong.

Thanks in advance.....
SmilieSmilieSmilieSmilieSmilie
# 2  
Old 10-03-2007
Case 5132 gets returned twice by your first select because it's in two rows.

Then in the state select, two states get returned because there are two states associated with 5132.

I suggest doing something like....

Code:
db2 -x ..... | while read A B C D
do
....
done

 
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies

2. Shell Programming and Scripting

Failure: if grep "$Var" "$line" inside while read line loop

Hi everybody, I am new at Unix/Bourne shell scripting and with my youngest experiences, I will not become very old with it :o My code: #!/bin/sh set -e set -u export IFS= optl="Optl" LOCSTORCLI="/opt/lsi/storcli/storcli" ($LOCSTORCLI /c0 /vall show | grep RAID | cut -d " "... (5 Replies)
Discussion started by: Subsonic66
5 Replies

3. UNIX for Dummies Questions & Answers

Using "mailx" command to read "to" and "cc" email addreses from input file

How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address and column 3 contains “cc” e-mail address to include with same email. Sample input file, email.txt Below is an sample code where... (2 Replies)
Discussion started by: asjaiswal
2 Replies

4. Shell Programming and Scripting

Get values from 2 files - Complex "for loop and if" awk problem

Hi everyone, I've been thinking and trying/changing all day long the below code, maybe some awk expert could help me to fix the for loop I've thought, I think I'm very close to the correct output. file1 is: <boxes content="Grapes and Apples"> <box No.="Box MT. 53"> <quantity... (8 Replies)
Discussion started by: Ophiuchus
8 Replies

5. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

6. Shell Programming and Scripting

"for" and "while" loop problem in "sh"

Hi, I have a problem with "for" and "while" loop in "sh". I have: #!/bin/sh for i in $(seq 1 500000); do echo $i doneand it's working in sh on my ubuntu, but when I try to run this on unix(I have access to my university's unix) it crash: syntax error at line 2: `$' unexpected...... (8 Replies)
Discussion started by: Physix
8 Replies

7. UNIX for Advanced & Expert Users

A question/problem about oracle "tns listener" and "enterprise manager"

hi, I have a problem about the Oracle related components. I'm not able to find any answer yet, and waiting for your responses... Here is the configuration of my system: * an IBM P550 machine, * an AIX 5.3 running on it and * an oracle database, already installed on it. The problem (or... (1 Reply)
Discussion started by: talipk
1 Replies

8. UNIX and Linux Applications

A question/problem about oracle "tns listener" and "enterprise manager"

hi, I have * an IBM P550 machine, * an AIX 5.3 running on it and * an oracle database, already installed on it. The problem (or question of my own) is: Oracle tns listener, "CT_LISTENER", and the enterprise manager (EM) of the instance, which is uniq instance and called... (0 Replies)
Discussion started by: talipk
0 Replies

9. UNIX for Dummies Questions & Answers

Explain the line "mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`"

Hi Friends, Can any of you explain me about the below line of code? mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'` Im not able to understand, what exactly it is doing :confused: Any help would be useful for me. Lokesha (4 Replies)
Discussion started by: Lokesha
4 Replies
Login or Register to Ask a Question