Sponsored Content
Top Forums Shell Programming and Scripting Problem accessing array elements Post 302500023 by njdpo on Saturday 26th of February 2011 10:33:57 AM
Old 02-26-2011
Problem accessing array elements

Hi all,
I can’t resolve an array element access issue on (Linux/pdksh) .. So I’m positing for advice.By the way - a friend demonstrated to me - same script works as expected under Solaris.

I have been working on a documentation project where many *.jpg screen shots are used in the documentation. The process that we go through - has us inserting additional images into the sequence of JPG files (where required). Eventually the sequence of images is “frozen” before they go into the next phase of the documentation process.


We need to have these images renumbered before the sequence is frozen. So for example we might start with:
Image_1

Image_34
With the additional insertions (and deletions too) – the directory structure morphs into something ugly like:
Image_1
Image_1a
Image_1b
Image_9
Image_9c
Image_9f
Image_34
Image_34h
We need to have a script process the directory structure and sort / rename these files into something like Image_0000, Image_0005, image_00010, image_0015, etc. (incremented by 5’s).



Having 5 spaces (between files) allows us to insert images into the sequence – if we should need to in a last minute emergency effort during later stages of the documentation process.


The problem:

The script is giving us problems (on linux). I can load the array in a loop – but I can NOT access the array elements outside of the loop and I am looking for advice on how to resolve this issue on the Linux box.



Please note - The same script works on Solaris as expected – array elements are accessible outside of the loop!!! (We cant use the Solaris box for this process).


Thank you for your time and input on this matter - Dave

Code:
#!/bin/ksh

touch /tmp/1.jpg /tmp/23.jpg /tmp/65.jpg /tmp/88.jpg

i=0
ls -alF /tmp/*.[jJ][pP][gG] | awk '{print $8}' | while read filein
do
   array[$i]=$filein
   echo "in loop: i=$i, Array($i)='s: ${array[$i]}"
   i=$(($i + 1))
done

echo "out of loop - 2nd element: ${array[2]}"
echo "out of loop - all elements: ${array[@]}"

rm /tmp/1.jpg /tmp/23.jpg /tmp/65.jpg /tmp/88.jpg


Last edited by Franklin52; 02-26-2011 at 05:33 PM.. Reason: Please use code tags
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Accessing single elements of a awk array in END

How do I access one of the indices in array tst with the code below? tst=sprintf("%5.2f",Car / 12) When I scan thru the array with for ( i in tst ) { print i,tst } I get the output of: vec-7 144 But when I try this in the END print tst It looks like it's not set. What am... (6 Replies)
Discussion started by: timj123
6 Replies

2. Shell Programming and Scripting

[Perl] Accessing array elements within a sed command in Perl script

I am trying to use a script to replace the header of each file, whose filename are stored within the array $test, using the sed command within a Perl script as follows: $count = 0; while ( $count < $#test ) { `sed -e 's/BIOGRF 321/BIOGRF 332/g' ${test} > 0`; `cat 0 >... (2 Replies)
Discussion started by: userix
2 Replies

3. Shell Programming and Scripting

Accessing array elements

Hi, My doubt is how to access array elements.. Situation is as below: #!/bin/ksh set -x typeset -i x=0 typeset -i y=0 typeset -i BID=0 typeset -i count=0 while ] ; do x=`expr $x + 1`; hwmgr show scsi > scsi.tmp while read line; do set... (1 Reply)
Discussion started by: mansa
1 Replies

4. Shell Programming and Scripting

Array with String Elements

How can I get my array to understand the double-quotes I'm passing into it are to separate text strings and not part of an element? here's what I'm working with... db2 -v connect to foo db2 -x "select '\"' || stats_command || '\",' from db2law1.parallel_runstats where tabname = 'BAZ'" set... (4 Replies)
Discussion started by: djschmitt
4 Replies

5. UNIX for Dummies Questions & Answers

Help with replacing Array elements

Hi, I have an array containing following sample information @array = qw (chr02 chr02 chr02 chr02 chr02 chr03 chr03 chr04 chr04 chr05 chr05 chr05 chr07 chr07) I need to replace all duplicate entries by an underscore to get the following output@array = qw (chr02 _ _ _ _ chr03 _ chr04 _ chr05 _ _... (4 Replies)
Discussion started by: pawannoel
4 Replies

6. UNIX for Dummies Questions & Answers

printing array elements

Is there a way to print multiple array elements without iterating through the array using bash? Can you do something like... echo ${array}and get all those separate elements from the array? (2 Replies)
Discussion started by: jrymer
2 Replies

7. Shell Programming and Scripting

Removing elements from an array

Hi I have two arrays : @arcb= (450,625,720,645); @arca=(625,645); I need to remove the elements of @arca from elements of @arcb so that the content of @arcb will be (450,720). Can anyone sugget me how to perform this operation? The code I have used is this : my @arcb=... (3 Replies)
Discussion started by: rkrish
3 Replies

8. Shell Programming and Scripting

Grouping array elements - possible?

I have a script which takes backup of some configuration files on my server. It does that by using an array which contains the complete path to the files to backup. It copys the files to a pre defined dir. Each "program" has it's own folder, ex. apache.conf is being copied to /predefined... (7 Replies)
Discussion started by: dnn
7 Replies

9. Shell Programming and Scripting

Random elements from array

Hi I wanted to print random elements from an array at bash shell I use the following code, but I always see first element getting printed #!/bin/bash c=1 expressions=(pink red white yellow purple) while ]; do echo "The value of RANDOM is $RANDOM" selectedexpression=${expressions}]};... (5 Replies)
Discussion started by: Priya Amaresh
5 Replies

10. Shell Programming and Scripting

Help reading the array and sum of the array elements

Hi All, need help with reading the array and sum of the array elements. given an array of integers of size N . You need to print the sum of the elements in the array, keeping in mind that some of those integers may be quite large. Input Format The first line of the input consists of an... (1 Reply)
Discussion started by: nishantrefound
1 Replies
mdbFontEncoding(5)						 The m17n Library						mdbFontEncoding(5)

NAME
mdbFontEncoding - Font Encoding DESCRIPTION
The m17n library loads information about the encoding of each font form the m17n database by the tags <font, encoding>. The data is loaded as a plist of this format. FONT-ENCODING ::= PER-FONT * PER-FONT ::= '(' FONT-SPEC ENCODING [ REPERTORY ] ')' FONT-SPEC ::= '(' [ FOUNDRY FAMILY [ WEIGHT [ STYLE [ STRETCH [ ADSTYLE ]]]]] REGISTRY ')' ENCODING ::= SYMBOL FONT-SPEC is to specify properties of a font. FOUNDRY to REGISTRY are symbols corresponding to Mfoundry to Mregistry property of a font. See m17nFont for the meaning of each property. For instance, this FONT-SPEC: (nil alice0 lao iso8859-1) should be applied to all fonts whose family name is 'alice0 lao', and registry is 'iso8859-1'. ENCODING is a symbol representing a charset. A font matching FONT-SPEC supports all characters of the charset, and a character code is mapped to the corresponding glyph code of the font by this charset. REPERTORY is a symbol representing a charset or 'nil'. Omitting it is the same as specifying ENCODING as REPERTORY. If it is not 'nil', the charset specifies the repertory of the font, i.e, which character it supports. Otherwise, whether a specific character is supported by the font or not is asked to each font driver. For so called Unicode fonts (registry is 'iso10646-1'), it is recommended to specify 'nil' as REPERTORY because such fonts usually supports only a subset of Unicode characters. COPYRIGHT
Copyright (C) 2001 Information-technology Promotion Agency (IPA) Copyright (C) 2001-2011 National Institute of Advanced Industrial Science and Technology (AIST) Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License <http://www.gnu.org/licenses/fdl.html>. Version 1.6.2 12 Jan 2011 mdbFontEncoding(5)
All times are GMT -4. The time now is 02:35 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy