Monday, May 26, 2014

Multi-Move At The Command Line

For those who spend any time in the Linux command line, it doesn’t take long for an individual to build their own little “personal arsenal” of commands that are extremely handy or get used on a regular basis. The “mmv” command is one of those handy little command tools that people may not think about as in many cases it does not come as a standard tool in many distro’s. Most repositories will have it available though so it’s not that hard to get and it’s well worth the small amount of effort it takes to load it into one’s list of useful toolbox.

What this command does is allows a user to execute multi-file commands making it easy to deal with large amounts of files in just a few keystrokes without having to concern themselves with long strings of compounded commands or extended process of dealing with files on an individual basis. Lets take a look at just a few of the basic things this handy command makes easy for us.

As always, once installed, take a browse through the man page to get an idea of all the different variations that can be played on with this command tool. There is actually quite a bit that can be done with this less common command.


One of the more prominent uses for mmv is to modify extensions in bulk so that we can maintain unification throughout our system. In my opinion, having both upper and lower case extensions floating around is absolutely annoying and as we all know, this can happen from our phones, cameras and all sorts of other devices we may interface with. keeping extensions all in lowercase also helps identify file types more easily when working from the command line. Thus from the screenshot below, we can see how to fix this problem very easily with a simple command.


Another useful way of working with large groups of files is renaming. Below shows the results of removing the preceding portion of file names globally when possible. Suppose the month were wrong, name was wrong or something else that might need to be changed on a large scale.


Global name changing can, of course, be done in the reverse order as well. Performing this action can make identifying the contents of a directory that much easier to deal with. When working with file archives, this action comes in very handy as all the inclusive files within a directory archive can quickly and easily be matched so that anyone can easily recognize what directory that file came from or should be associated with.


Some other commands that mmv makes easy is selecting particular naming conventions to be moved to another directory. In the example below, all files starting with either “a” or “A” are being moved from directory “Test2” to directory “Test3” of which both share the same parent directory. This process can make sorting through various files at a granular level very easy to do.


For the last example, mmv can also be used as a way of changing the order of the names within a large number of files. The man page uses a good example such as large amounts of music files where someone may want to change the order of album, artist, and song title around. In the example below, I simply changed the order of words associated to one file as an example using the criteria of “an” to select just one particular file that started with those two letters to differentiate from all other files within the same directory.


In closing, mmv is very handy on multiple levels and particularly handy when organizing archives of files such as multiple file backups which may have taken place over a number of months or years. In any situation when a person needs to deal with a large amount of associated files, mmv is an invaluable tool that makes bulk management that much faster and easier to get done.






No comments:

Post a Comment