Combine two arrays. for in for ?..


 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers Combine two arrays. for in for ?..
# 8  
Old 01-07-2020
Immediately apologize for this disgrace, but it should work
Code:
eval echo -en "db2' '-x' \"'select' 'DOCID' 'from' \"'ICMADMIN.{$(tr ' ' , <file1)}'\"  where ITEMID=\"'{$(tr ' ' , <file2)}'\n'" | bash

# 9  
Old 01-08-2020
Hello, thank you for your help.
the command
eval echo -en "db2' '-x' \"'select' 'DOCID' 'from' \"'ICMADMIN.{$(tr ' ' , <ITEMID.txt)}'\" where ITEMID=\"'{$(tr ' ' , <et.txt)}'\n'"

make an output:

Code:
If 'A1001001A18K15A90630F85271' is not a typo you can run the following command to lookup the package that contains the binary:
    command-not-found A1001001A18K15A90630F85271
-bash: A1001001A18K15A90630F85271: command not found

# 10  
Old 01-08-2020
Ok
Try it like this, which will output?
Code:
eval echo -en "echo' '-x' \"'select' 'DOCID' 'from' \"'ICMADMIN.{$(tr ' ' , <ITEMID.txt)}'\" where ITEMID=\"'{$(tr ' ' , <et.txt)}'\n'"

--- Post updated at 12:53 ---

That's what I get
Code:
echo -x "select DOCID from "ICMADMIN.1" where ITEMID="a
 echo -x "select DOCID from "ICMADMIN.1" where ITEMID="b
 echo -x "select DOCID from "ICMADMIN.1" where ITEMID="c
 echo -x "select DOCID from "ICMADMIN.2" where ITEMID="a
 echo -x "select DOCID from "ICMADMIN.2" where ITEMID="b
 echo -x "select DOCID from "ICMADMIN.2" where ITEMID="c
 echo -x "select DOCID from "ICMADMIN.3" where ITEMID="a
 echo -x "select DOCID from "ICMADMIN.3" where ITEMID="b
 echo -x "select DOCID from "ICMADMIN.3" where ITEMID="c
...

--- Post updated at 12:54 ---

Is the file correct? <et.txt

--- Post updated at 13:02 ---

But please do not take my examples too seriously. Such lines are very difficult to debug and maintain.
You are pursue practical goals, and therefore it is better to pay attention to #2 and #6 post. IMHO

I think the main problem of a large execution time is precisely in the number of calls to the DB2 command

Last edited by nezabudka; 01-08-2020 at 05:28 AM..
# 11  
Old 01-08-2020
Here is the output:

If FHBPDM_DOC_05001 is not a typo you can run the following command to lookup the package that contains the binary:
Code:
    command-not-found FHBPDM_DOC_05001

Here is as example:
Code:
tail ITEMID.txt
A1001001A19D02A60148J20560
A1001001A19D02A60149F20562
A1001001A19D02A60149F20566
A1001001A19D02A60149F20564
A1001001A19D02A60149F20568
A1001001A19D02A60150B20570
A1001001A19D02A60150B20572
A1001001A19D02A60150B20574
A1001001A19D02A60150E20578
A1001001A19D02A60150E20576

Code:
tail et.txt
NNDTY4_DOC_05001
NNDTY5_DOC_05001
NNDTY6_DOC_05001
NNSPDM_DAT_05001
NNSPDM_DOC_04001
NNSPDM_PRI_01001
NNSTDM_DOC_04001
NNSTDM_PRI_01001
NZGPIC_DAT_01001
NZGPIM_DAT_01001


Moderator's Comments:
Mod Comment
Please wrap all code, files, input & output/errors in CODE tags.
It makes it easier to read and will preserve spacing for indenting or fixed-width data.

Last edited by rbatte1; 01-08-2020 at 08:02 AM..
This User Gave Thanks to mrAibo For This Post:
# 12  
Old 01-08-2020
The thing is that the files do not consist of a list as stated, but of the lines!

--- Post updated at 13:37 ---

it is very easy to solve
Code:
eval echo -ne "echo' '-x' \"'select' 'DOCID' 'from' \"'ICMADMIN.{$(tr '\n' , <ITEMID.txt)}'\" where ITEMID=\"'{$(tr '\n' , <et.txt)}'\n'"

--- Post updated at 13:42 ---

It works
Code:
eval echo -ne "echo' '-x' \"'select' 'DOCID' 'from' \"'ICMADMIN.{$(paste -sd, ITEMID.txt)}'\" where ITEMID=\"'{$(paste -sd, et.txt)}'\n'"

This User Gave Thanks to nezabudka For This Post:
# 13  
Old 01-08-2020
now it's almoust works:

Output:
Code:
echo -x "select DOCID from "ICMADMIN.A1001001A19B20C31636F41449" where ITEMID="FFCPYA_DAT_01001

It should be like:
Code:
db2 -x "select DOCID from ICMADMIN.FFCPYA_DAT_01001 where ITEMID='A1001001A19D02A60150B20570'"


Last edited by rbatte1; 01-08-2020 at 08:03 AM..
# 14  
Old 01-08-2020
Code:
eval echo -ne "db2' '-x' \"'select' 'DOCID' 'from' \"'ICMADMIN.{$(paste -sd, ITEMID.txt)}'\" where ITEMID=\"'{$(paste -sd, et.txt)}'\n'" | bash

--- Post updated at 14:07 ---

Another variant
Code:
bash <(eval echo -ne "db2' '-x' \"'select' 'DOCID' 'from' \"'ICMADMIN.{$(paste -sd, ITEMID.txt)}'\" where ITEMID=\"'{$(paste -sd, et.txt)}'\n'")


Last edited by nezabudka; 01-08-2020 at 07:00 AM..
This User Gave Thanks to nezabudka For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Arrays

Am using bash For eg: Suppose i have a array arr=(1 2 3 4 5 6 7 8 9 10 11 12) suppose i give input 5 to a script and script should able to print values greater than or equal to 5 like below: Input: 5 output: 5,6,7,8,9,10,11,12 (7 Replies)
Discussion started by: manid
7 Replies

2. Shell Programming and Scripting

Using arrays?

I have never used arrays before but I have a script like this: var1=$(for i in $(cat /tmp/jobs.021013);do $LIST -job $i -all | perl -ne 'print /.*(\bInfo.bptm\(pid=\d{3,5}).*/' | tr -d "(Info=regpid" | tr -d ')'; $LIST -job $i -all | cut -f7 -d','| sed -e "s/^\(*\)\(*\)\(*\)\(.*\)/\1... (2 Replies)
Discussion started by: newbie2010
2 Replies

3. Programming

Arrays in C++

I've noticed something interesting in C++ programming. I've always done tricky stuff with pointers and references to have functions deal with arrays. Doing exercises again out of a C++ book has shown me an easier way, I didn't even know was there. It's weird to me. When dealing with arrays, it... (4 Replies)
Discussion started by: John Tate
4 Replies

4. Shell Programming and Scripting

How can I use the arrays ?

Hi all, I have a file test1.txt with the below contents abc def ghj xyz I tried printing these values using arrays. Script tried : =========== set -A array1 `cat test1.txt` count=${#array1 } i=0 while do echo "element of array $array1" done (1 Reply)
Discussion started by: dnam9917
1 Replies

5. Programming

question about int arrays and file pointer arrays

if i declare both but don't input any variables what values will the int array and file pointer array have on default, and if i want to reset any of the elements of both arrays to default, should i just set it to 0 or NULL or what? (1 Reply)
Discussion started by: omega666
1 Replies

6. Shell Programming and Scripting

bash: combine arrays with weird substitution/references

Hi all. I'm trying to finish a bash script with the following elements: ARRAY="blah $ITEM blah blah" ARRAY="blah blah $ITEM blah bluh" #ARRAY="...." # ...the ARRAY elements represent a variable but defined # syntax and they're all hard-coded in the script. #(...) ITEMS='1.0 2.3... (2 Replies)
Discussion started by: yomaya
2 Replies

7. Shell Programming and Scripting

combine

Hi I am having text file like this 001|ramu|hno221|>< sheshadripuram|delhi|560061>< 002|krishna|hno225|>< newdelhimain|delhi|560061>< i want to combine every two lines as single...line... i.e 001|ramu|hno221|sheshadripuram|delhi|560061 can u pls help me (3 Replies)
Discussion started by: suryanarayana
3 Replies

8. UNIX for Dummies Questions & Answers

arrays how to?

Hello, I am some what of a newbie to awk scripting and I seem to be struggling with this problem. I know I need to use arrays but I can't figure out how to use them. I have an input file that looks like this; Name,Team,First Test, Second Test, Third Test Crystal,Red,5,17,22... (1 Reply)
Discussion started by: vlopez
1 Replies

9. Web Development

PHP arrays in arrays

PHP question... I have an SQL query that's pulled back user IDs as a set of columns. Rather than IDs, I want to use their names. So I have an array of columns $col with values 1,7,3,12 etc and I've got an array $person with values "Fred", "Bert", "Tom" etc So what I want to do is display the... (3 Replies)
Discussion started by: JerryHone
3 Replies

10. Shell Programming and Scripting

Arrays

Dear all, How can i unset arrays. I mean all the subscripts including the array after using them. Could you direct me to some links of array memory handling in the korn shell. Thanks (2 Replies)
Discussion started by: earlysame55
2 Replies
Login or Register to Ask a Question