Recursive folder content lists in OSX

Every now and then you’re really grateful OSX is essentially Unix with a smiley face. Since that allows you to easily get under the hood for those “should be simple” tasks.
For this one, I needed to produce a list of files within a collection of folders which, for demonstration purposes, we’ll call media files.

Recursive file list

This is easy:

  1. Open a terminal window
  2. Type cd (there’s a space after ‘cd’)
  3. Drag the folder you want to start from into the terminal window. It should then complete the path automagically.
  4. Press Enter to navigate to the selected folder.
  5. Enter the command ls -RF > list.txt

This will produce a list of all files in the directory, and subdirectories, as list.txt in the starting directory. Feel free to give it a more useful name.

Once more, with filters

So now you’ve got a list of all the files in the folders. But if you want to find a subset based on filename (say, for example, the list of media files identified in the title as being 2009 releases) then use the wonders of unix to ‘pipe’ the file list to GREP to filter it before writing the file:

ls -RF | grep '2009' > 2009.txt

This will produce a list of only those files with ’2009′ somewhere in the title.

Advanced options

Armed with LS and GREP you can pretty much produce any subset of any folder set you require. Enjoy!

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>