Loop with multiple delimited variables


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Loop with multiple delimited variables
# 1  
Old 03-09-2016
Howsoever, given the variables as presented in post#1, and bash available, how about
Code:
IFS=, read -a A <<<$var1
IFS=, read -a B <<<$var2
IFS=, read -a C <<<$var3
for i in ${!A[@]}; do echo "insert into table (${A[$i]}, ${B[$i]}, ${C[$i]});" ; done
insert into table (1, a, 0);
insert into table (23, ab, 0);
insert into table (234, xyz, 0);

Quotation of the string values left as an exercise for the reader.
# 2  
Old 03-09-2016
Code:
seq --h

# 3  
Old 03-09-2016
${#A[@]} is array A's element count, ${!A[@]} lists all the indices into array A.

For the quoting of string variables, try

Code:
QUS() { FMT="%s"; [[ $1 =~ [^[:digit:]] ]] && FMT="'%s'"; printf $FMT $1; }
for i in ${!A[@]}; do echo "insert into table ($(QUS ${A[$i]}), $(QUS ${B[$i]}), $(QUS ${C[$i]}));" ; done
insert into table (1, 'a', 0);
insert into table (23, 'ab', 0);
insert into table (234, 'xyz', '1a2b');

# 4  
Old 03-09-2016
You are welcome. To add, instead of
Code:
len=`echo $var1 | awk -F '[,]' '{print  NF-1}'`

one could also use plain shell, without external programs:
Code:
len=${#arr1[@]}

after arr1 is set...

--
=> Please use code tags next time for code and data <=
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Displaying multiple variables in for loop

Hi! I've run into a problem where my variables are displayed in the wrong order. Basically I'm supposed to use a file that has information like this username:firstname:lastname:etc:etc. What I'm interested in doing is reformating it into a something more like this: username lastname,... (2 Replies)
Discussion started by: reindeermountai
2 Replies

2. Shell Programming and Scripting

Multiple variables using awk and for loop for web form submission

Hi My goal is to fill an HTML form and submit. What I have managed to do: 1. curl command to fill up the form and submit 2. a file which has the input curl command: curl -v -b cookie.txt -d __CSRFToken__=dc23d5da47953b3b390ec68d972af10380908b14 -d do=create -d a=open -d... (10 Replies)
Discussion started by: zorrox
10 Replies

3. UNIX for Dummies Questions & Answers

Reading multiple variables in a loop

Hi, I managed to read and print variable as shown in the below code. table_name=table1,table2,table3 i=0 IFS="," for i in $table_name do echo $i done Is there a way how I can read more than one variable. For example I need to read 2 variables and populate the output... (6 Replies)
Discussion started by: shash
6 Replies

4. UNIX for Dummies Questions & Answers

Multiple variables to be passed in a loop

Hi, I need to pass the multiple values of src1 to another variable. I managed to print it but not sure how to assign it to a variable in a loop. src1=01,02,03 echo $src1|awk 'BEGIN {FS=","} {for(i=1;i<=NF;i++) print $i}' I need to pass the value as src2=01 src2=02 src2=03 Thanks... (4 Replies)
Discussion started by: shash
4 Replies

5. Shell Programming and Scripting

How to use for/while loop with multiple variables?

Hi, I have two variables like below which will always be of the same size a=1:2:3 b=A:B:C I need to use a for/while loop that will have both the variables available. I cannot use an array here and will probably might iterate through the variable as echo $a | tr ':' '\n' and thus iterate... (5 Replies)
Discussion started by: Elizabeth H
5 Replies

6. UNIX for Dummies Questions & Answers

For Loop for a list of tab delimited variables

Hello, I need to run a command for a set of input variables that are present in a tab delimited file, a sample of which is shown below: 1 3749 1 4129 1 5980 2 6201 2 9925 2 6894 3 1338 3 6477 3 6242 3 3632 Every row represents the two input values... (2 Replies)
Discussion started by: Gussifinknottle
2 Replies

7. UNIX for Dummies Questions & Answers

multiple variables in for loop

hi, I want an equivalent for loop for this C code in unix shell script... for(int i,int j;i<5;i++,j++) { } Please reply soon Regards Navjot (1 Reply)
Discussion started by: navjotsingh
1 Replies

8. Shell Programming and Scripting

While loop with Multiple variables

Hi , I am trying to write a script in kshell with while loop ,its like count=1 count_cmp=1 while ; do tail -$count tempfile | head -1 > tempstring ....... done However i get CIF.sh: line 33: ' I have checked thetrailing spaces , not sure what is... (4 Replies)
Discussion started by: amit1_x
4 Replies

9. Shell Programming and Scripting

for loop with multiple variables ?

I have a script which selects two 'sets' of system LVM device files from a tabular file 'mapfile' using awk : LIVELV=`awk '{print($1)}' mapfile` BCVLV=`awk '{print($3)}' mapfile` I wanted to pass these 'sets' into an LVM command 'loop' along the lines of : lvmerge $BCVLV $LIVELV ie.... (3 Replies)
Discussion started by: fosterian
3 Replies
Login or Register to Ask a Question