commandlinefu.com is the place to record those command-line gems that you return to again and again.
You can sign-in using OpenID credentials, or register a traditional username and password.
Subscribe to the feed for:
this oneliner uses make and it's jobserver for parallel execution of your script. The '-j' flag for make defines number of subprocesses to launch, '-f' tells make use stdin instead of Makefile. Also make have neat flag '-l', which "Specifies that no new jobs (commands) should be started if there are others jobs running and the load is at least load (a floating-point number)."
Also you can use plain Makefile, for better readability:
targets = $(subst .png,.jpg,$(wildcard *.png))
echo convert $(subst .jpg,.png,$@) $@
all : $(targets)
There are 2 alternatives - vote for the best!
the block of the loop is useful whenever you have huge junks of similar jobs, e.g., convert high res images to thumbnails, and make usage out of all the SMP power on your compute box without flooding the system.
note: c is used as counter and the random sleep
r=`echo $RANDOM%5 |bc`; echo "sleep $r"; sleep $r
is just used as a dummy command.
If you can do better, submit your command here.
You must be signed in to comment.