On Mar 19, 12:39 pm, Javier Montoya <jmonto...@gmail.com> wrote: > Dear all, > > I have a several directories with *.jpg images. The image files are > named as ascending numbers and I would like to retrieve the lowest and > largest image number in each directory. An example of the content of a > directory is given below: > /bla/bla/bla/dir1 > -> 00000.jpg > -> 00001.jpg > -> > -> 09001.jpg > > The desired output would be the integer numbers: 0 and 9001 > With the code below, I'm able to retrieve in "seqInterval" array, > which is the lowest and largest image number as strings. > seqDir="/bla/bla/bla/dir1" > seqInterval=($(find $seqDir -name "*.jpg" | sort | sed -n -e '1p;$p' | > sed -e 's|^.*/||' -e 's/\.[^.]*$//')) > in our example, I obtain sth. like: > seqInterval[0] is equal to "00000" and seqInterval[1] is equal to > "09001" > Since those are string numbers, I was wondering which is the best way > to convert those strings into integer numbers (seqInterval[0]=0 and > seqInterval[1]=9001)? > > I tried the code below, but it doesn't work properly, any suggestions? > startImg=$(printf '%d' ${seqInterval[0]}) > endImg=$((printf '%d' ${seqInterval[1]})) > > Best whishes
Dear all, I found a solution: startImg=$(printf '%d' ${seqInterval[0]//0/}) endImg=$(printf '%d' ${seqInterval[1]//0/}) Is there's a better way, pls let me know!