mmv on Mac OS X May 12, 2008

mmv

Since I switched from Debian and Ubuntu to Mac OS X, I got used to most of the differences between those operating systems. Yet one very important thing for me was still lacking: A command-line utility called mmv

Updated

  • Friday, January 30, 2009: added a small command to rebuild the whatis database after install and uninstall.
  • Wednesday, September 1, 2010: replaced the version of mmv distributed by a newer one, compiled differently, and specially targeted at Mac OS X Snow Leopard; also added a small update about the fact that mmv is now available through MacPorts.

Description

According to this article, which describes very well what mmv can do for you:

mmv is a command-line tool which allows the user to move, rename, copy, append and link large amounts of files with a single command. The tool is especially useful when you need to rename a lot of files that have similar filenames, yet subtle differences.

Debian Package of the Day

The problem, and my idea…

Unfortunately, mmv is not available through MacPorts, which I tend to use when I want to install some specific command-line tools on my Mac. But then I thought that I could try recompiling myself the source code for mmv that is used to create the mmv package for Debian.

Update: At the time of initial writing, this was true, but it is no longer the case: I just discovered that mmv is now available through MacPorts. However, looking at the version number they advertise, my version is more recent.

Sure enough, it wasn’t that complicated, I quickly got a 3-way Universal Binary (x86_64, i386 and ppc) version of mmv for Mac OS X. Finally, mmv on the Mac! Then, I thought: Why wouldn’t I make an archive of all those files, and distribute my binary version of mmv for Mac OS X? According to mmv‘s license, there is no reason why I couldn’t do that.

Download

Download mmv for Mac OS XTherefore, here is my version of mmv:

Binary version of mmv for Mac OS X Snow Leopard.

Install

First, download the .tar.bz2 file, and be sure to let it in your Downloads directory (usually /Users/username/Downloads/).

Then, launch the Terminal application and execute the following commands:

cd /usr/local/
sudo tar xvjf ~/Downloads/mmv-binary-MacOSX-10.6.tar.bz2
sudo sh -c '/etc/periodic/weekly/320.whatis 2> /dev/null; exit 0'

That’s it!

Uninstall

Launch the Terminal application and execute the following commands:

cd /usr/local/
sudo rm -R -f bin/m{ad,cp,ln,mv} share/doc/mmv/ share/man/man1/m{ad,cp,ln,mv}.1
sudo sh -c '/etc/periodic/weekly/320.whatis 2> /dev/null; exit 0'

That’s it!

Important Notes

As the distributor of this binary version of mmv, I want to add to mmv‘s copyright notice my own warning:

This software is provided by the distributor “as is” and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the distributor be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.

Another important thing is that I only tested this version of mmv on Mac OS X Snow Leopard 10.6.4, but it should work with all versions of Snow Leopard, and most likely with future major versions of the Mac OS X. If you find that it works with older versions of the operating system, please let me know.

I also wrote a README file containing all the important things you should know about this package. Once the software installed, it should be located at /usr/local/share/doc/mmv/README.

One more thing…

Enjoy!

8 Comments
Radu July 1st, 2008

Thanks

I use Mac OS X regularly and I often miss mmv. It’s such a powerful tool. So thanks for making it available 🙂

infty December 28th, 2008

download broken…

hi. i use mmv constantly and just set up my leopard machine anew. it’s a huge pain to install mmv from scratch, and you seem to have done a beautiful job of it, including the man pages, etc.

your download doesn’t work though, the attachment was removed it seems. do you think it’s possible for you to reupload it?

cheers.

Joel December 28th, 2008

Re: download broken…

Hi infty!

Sorry for breaking the link last time I updated this article. I just fixed it.

Enjoy!

Boltzmann March 7th, 2009

Tiger compatibility

Hi!

Thanks for this *.dmg! I use it right now on my Mac OS X Tiger and it functioning! So, maybe you can write this in your text…

alex September 7th, 2009

thanks

great work! many thanks!

Max October 11th, 2009

working on Snow Leopard

Thanks very much for providing mmv!
Your distro also works without any problems on Snow Leopard.
Best regards.

nosuchthing August 22nd, 2010

really cool

I don’t really understand why any linux based OS want to be shipped without mmv. I mean DOS had it 30 years ago…

What I’m saying is that you don’t really want to use the command line without it, and installation really worked a treat!

Joel September 2nd, 2010

Re: Tiger compatibility

Hi Boltzmann,

Thanks for trying out my version of mmv for OS X!

As you can see, I just published a new version of this package, specially targeted at Snow Leopard. In fact, it’s a 3-way Universal Binary (x86_64, i386 and ppc), and I used the new compiler clang to compile it for Intel 32-bit and Intel 64-bit. However, I had to use llvm-gcc-4.2 for the PowerPC code. I’m not too sure that binaries compiled with clang actually work on Leopard or even Tiger, so that’s why I don’t feel comfortable advertising Leopard or Tiger compatibility right now. But I believe that binaries compiled with llvm-gcc-4.2 work fine at least on PowerPC Macs running Leopard (maybe even Tiger…). So, it’s possible that if you have a PowerPC machine, this version of mmv will run just fine if you have Leopard or Tiger.

Anyway, if you get a chance to try the new package with older versions of Mac OS X, I’d be glad to know if it works.

Cheers,

Leave a Reply