ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Please use shellcheck to check your script, it will definitely give you some ideas to make it better.
Would be nice to tell us what's happening, what is printed. Also you can use set -xv to debug your script and insert an echo to see what's going on.
Code:
# set -xv
for i in *.jpg ; do # do not use ls here
echo converting $i
convert ...
done
No, only 3 loops out of needed 15
and as per my reply the three were numbered: *R-0.jpg *R-1.jpg and *R-2.jpg note the unwanted "*" and missing leading zero
I want them to be the series: R-1.jpg R-2.jpg R-3.jpg . . . . up to R-15.jpg
mkdir out_dir
let num=1
for i in *.jpg ; do
outfilename=$(printf "out_dir/R%02i.jpg" $num)
echo converting $i to $outfilename
convert $i -resize 600x400 $outfilename
let num++
done
Before running it try to understand every step so you can adapt it to your needs whenever you want.
Understanding code before running it has the double purpose of learn from it and keeping you safe from potential dangerous code.
mkdir out_dir
let num=1
for i in *.jpg ; do
outfilename=$(printf "out_dir/$i.jpg")
echo converting $i to $outfilename
convert $i -resize 600x400 $outfilename
let num++
done
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.