For the next few months, I will have a “script of the week” each week: just some tiny little scripts I’ve developed over the years that I happen to find particularly useful.
Today’s is a shell script called sizes
. It’s a fairly simplistic interface to
the du
commands which just shows you all files and directories in the current
directory that are larger than one megabyte.
Here’s an example of running it in my /Library
directory:
~/Library $ sizes
2.8M Scripts
3.9M Components
5.6M Java
6.0M QuickTime
6.1M PreferencePanes
7.6M TexPackages
12M Keychains
15M Fonts
20M Preferences
36M Logs
51M Lisp
55M Emacs
86M Backups
398M Application Support
1.7G Caches
Here’s the script:
#!/bin/sh
du -shx * .[a-zA-Z0-9_]* 2> /dev/null | \
egrep '^ *[0-9.]*[MG]' | sort -n > /tmp/sizes.$$
egrep '^ *[0-9.]*M' /tmp/sizes.$$
egrep '^ *[0-9.]*G' /tmp/sizes.$$
rm -f /tmp/sizes.$$