Sort All Files (any depth) within a Folder by Size

I have a folder full of folders and files. I want to sort files by size (so I could remove the largest files).

I know how to do that in Windows Explorer, but I can not find a way to do it in Mac OS X Finder.

Windows 2003:

  • open folder in Windows Explorer
  • click button Search
  • leave Search for files or folders named and Containing text text fields empty
  • click button Search Now
  • sort by size

Is there a way to do something like this in Finder on Mac OS X?


Solution 1:

Open Terminal, cd to the folder you want to analyze and use this command:

find . -type f -print0 | xargs -0 ls -l | sort -k5,5rn

It should print a list of all files in the hierarchy, sorted by size. At least on my machine, which is not a Mac, but some other Unix. But in principal it should be roughly the same.

Thanks to Richard Hoskins for the bug with the spaces in the names. That's actually a feature in xargs. See this site where it's explained quite nicely. Above version should work now.

Edit

Here is an explanation how the command works:

find . ==> find items from current working directory "."

-type f ==> search for regular files

-print0 ==> print full file name to standard out, ending with a null character, instead of newline (this is for handling filenames with newlines and white space by xargs)

xargs ==> execute command xargs (executes a command for every line in standard in)

-0 ==> line delimiter is null character

ls -l ==> the command for xargs to execute. This way we get the details especially the size of the files.

sort ==> sort lines in standard in

-k5,5rn ==> sort field definition, begin at field 5 (delimiter default is blank) and end at field 5. That's the size field in ls -l display. r stands for reverse sort order, so that the biggest files are on top and n stands for numerical sort order.

Solution 2:

Assuming it's just a folder, open the folder in Finder. Then click the "Detail" view button. Finally, click the "Size" column. The largest files will sort to the top. Additionally, folders within this folder are also sorted by size -- simply click the triangle next to them, and you will see their files sorted as well. (Don't "open" the folder by double-clicking, just click the triangle to expand their contents.)

Screen Shot

If you wanted to do a search, you can search by file size. Go to the File menu, and choose Find. Click the list that starts out saying "Kind," and choose "Other." Select Size from the list that comes up. Enter your criteria and search. However, I cannot find a way to make the search results display the file size column, so it's easier to use that to, say, find files greater than a certain size than to actually sort by size.

Solution 3:

  • open Finder
  • go to folder
  • Finder > File > Find...
  • in Search change selection from This Mac to "folder name"
  • click Kind
  • select Other and then Size
  • click button OK
  • (solution to my problem is size greater than 1 MB)

Solution 4:

For cleaning my disk of big files, I prefer simply using Grand Perspective:

cool looking and useful

Solution 5:

  • Navigate to the folder in the finder.
  • Momentarily enter anything in the search field on the toolbar.
    • search field
  • Once you have the search mode active you can delete what you entered to avoid filtering on that text.
  • Click the (+) icon at the right to add a search criteria.
  • Select File size, is greater than, and whatever minimum threshold works for you.
    • Zero (0) is an option, but enough results may make things slow.
  • You may need to right-click (control-click, two-finger click, etc) on the column headers to √ the Size column.

It will look something like this: files over 1 GB