Problem with array sizes


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Problem with array sizes
# 1  
Old 04-25-2009
Problem with array sizes

If I do :-

set -A classifications atype btype ctype dtype etype
for i in ${classifications[@]}
do
echo $i
print $i >> /tmp/class.txt
done

print "${#classifications[@]}"

The array prints as I would expect and the size of the array is 5 (as expected).

If I use an alternative method:

i=0
exec < /tmp/classifications.txt
while read array[i] ; do
echo ${array[i]
((i=i+1))
done

print "${#array[@]}"

The array size is 6. I can't figure out why ? Anyone explain this please?

Thanks for your help.
# 2  
Old 04-27-2009
Having hada bit of a play with your code, it looks as though the array size is being incremented by the read statement. If you change the code to...
Code:
while read line ; do
array[i]=line
.
.

the final size comes out at 5.

Does look like a bit of an anomaly!Smilie
# 3  
Old 04-27-2009
Cheers. I suspect you are right Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk array problem

Hi, Im trying to count bats flying through an infrared beam array. One of the experts here helped me a few months ago but now I am having a problem that is stumping me. here is the original code that works (with two differnt patterns in array): # this has been changed to operate under the... (15 Replies)
Discussion started by: cmp260
15 Replies

2. Shell Programming and Scripting

Problem in summing an array

Hi Frnds I need to sum up the values of a single array and store it in another variable, here is what im trying sumArray=0 for i in ${srvcFeeAmt} do echo " s of i value----> "$i sumArray=`expr $sumArray + ${i}` done echo "Sum of the array---->... (2 Replies)
Discussion started by: balesh
2 Replies

3. Shell Programming and Scripting

Array and Loop Problem

I've got this problem, if I modify an array in the loop and print it, everything is fine as long as I stay in the loop. But, when I print it outside the loop, nothing happens... How can I solve this problem? Here I prepared a sample for you to see my problem; zgrw@Rain:~$ cat test asd 123... (4 Replies)
Discussion started by: zgrw
4 Replies

4. Shell Programming and Scripting

Formatting problem with sizes from /proc/partitions

How would i display the output of /proc/partitions in gb representation/ Please help. Also eager to know what is dm-0 and dm-1? # cat /proc/partitions major minor #blocks name 3 0 8388608 hda 3 1 104391 hda1 3 2 8281507 hda2 3 64 102400 hdb ... (7 Replies)
Discussion started by: pinga123
7 Replies

5. Shell Programming and Scripting

Array problem in Ubuntu

Hi all, I am working in ubuntu for past few weeks .Since I was working in debian I had no problem with arrays.I followed the same method in ubuntu,but is is not working as I expected. Name="apple" Name="orange" print ${Name} Expected result is apple.But I got a error as "Bad... (8 Replies)
Discussion started by: karthigayan
8 Replies

6. Programming

Help on some array problem!!

i have no idea how to make a text file abc efg hij klm nop qrs to be a array such as, arr to be "abc efg" arr "hij kml" etc..... in C (2 Replies)
Discussion started by: tyckelvin1
2 Replies

7. Programming

Problem with array of pointers

Hi All, I am using the array of pointers and storing the address of string.This is a global list. So i am using extern to give the reference of this list to another file and using reading the data from this string. But list is being corrupted and string is missing some characters in... (2 Replies)
Discussion started by: lovevijay03
2 Replies

8. UNIX for Dummies Questions & Answers

Array declaration problem

Hi all, I would like to declare a vector of variables and access them sequentially. Here is my code ARRAY_CT="0001000000 0000100000 0000010000" ELEMENTS_CT=${#ARRAY_CT} echo $ELEMENTS_CT for (( j=1;j<=$ELEMENTS_IS;j++)); do echo ${ARRAY_IS} done ... (2 Replies)
Discussion started by: f_o_555
2 Replies

9. Shell Programming and Scripting

Array problem

I am using /bin/ksh for this problem. I have created some arrays with variable names as the array names: cnt=1 { while read myline; do tempmeas="${meas%%;*}" cto="${meas#*;}" tempstream=$stream # wholemeas holds the name of the array # each array name... (0 Replies)
Discussion started by: ajgwin
0 Replies

10. Shell Programming and Scripting

array problem

Dear Experts, please help me out once again my array concepts is not very clear i have one text file like. 1|usa|hh 2|usa|ll 3|usa|vg 4|uk|nn 5|uk|bb 6|kuwait|mm 6|kuwait|jkj 7|dubai|hh i want to store the third fied of a text file in he array and after that it should give me some... (6 Replies)
Discussion started by: shary
6 Replies
Login or Register to Ask a Question