2

Possible Duplicate:
how do you sort du output by size?

I have a text file generated from the output of

du --max-depth 1 -h > sizeOfHomeFolder.txt

It's contents are in this format:

$ cat sizeOfHomeFolder.txt  | head
776K    ./Expensemanager
8.0K    ./workspace
4.0M    ./mysql-tutorial
3.6M    ./temp
26M ./Desktop
4.0K    ./Ubuntu One
4.0K    ./Photos
4.0K    ./Public

I need to sort this file based on 1st column i.e. the size.

How to do this with sort or sed or any other common unix utility ?

Rui F Ribeiro
  • 56,709
  • 26
  • 150
  • 232
mtk
  • 27,530
  • 35
  • 94
  • 130

1 Answers1

5

If you have a not too old version of GNU sort, you can do

sort -k 1,1h < input.txt

-h is for "human" sort and is required to know that 1.0M is indeed larger than 512K.

jw013
  • 51,212
  • 2
    +1 for sort -h. it's very useful, esp. for things like sorting du -h. according to the changelog, -h was added to GNU sort on 2009-05-26 – cas Sep 01 '12 at 14:21