wood burning stoves 2.0*
The moose likes Linux / UNIX and the fly likes using exec in find, awk? xargs? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Engineering » Linux / UNIX
Bookmark "using exec in find, awk? xargs?" Watch "using exec in find, awk? xargs?" New topic

using exec in find, awk? xargs?

Pat Farrell

Joined: Aug 11, 2007
Posts: 4646

I want to run the ImageMagick "convert" program on a bunch of files. The find command is the obvios way to find the files.

find . -name "*.tif" -print
works perfectly.

What I want to do is run the convert program, something like

convert foo.tif foo.png

So I want to get the name and add a new extension, .png

Any help or even hints will be greatly appreciated.
Andrew Monkhouse
author and jackaroo
Marshal Commander

Joined: Mar 28, 2003
Posts: 11404

If you know that your files will all end in tiff, then you could just use sed:

(Untested, but it should work, unless you have spaces in your filenames, in which case that is a separate problem)

The Sun Certified Java Developer Exam with J2SE 5: paper version from Amazon, PDF from Apress, Online reference: Books 24x7 Personal blog
Tim Holloway
Saloon Keeper

Joined: Jun 25, 2001
Posts: 15952

If you're truly evilly-minded, use the "xargs" utility and do it as a one-liner. I'm not up to actually attempting this on the spot, but if would be something vaguely resembling this, I think:

The trickiest part is probably going to be the filename subsitution on the xargs command, but I believe that using double-quotes around the braces is the way it works.

Customer surveys are for companies who didn't pay proper attention to begin with.
I agree. Here's the link: http://aspose.com/file-tools
subject: using exec in find, awk? xargs?
Similar Threads
Need Java program to convert SVG to PDF format
How can we know if JVM has been installed on a machine?
A trouble of System class path
Running My First Java Application
i changed a folder name and now my program wont run