No, sort of, and yes. There is not "display this in multiple of MB" option, just the default blocks (512 bytes), KB, and 'human readable' which will (from the man page): "with -l, print sizes in human readable format (e.g., 1K 234M 2G)"
To get owner and group back, just remove the o and g options from the ls command and readjust the sort key.
Code:
find /home -type f -exec ls -ldh {} \; | sort -k 5 -r -n | head -10
But that, of course, will scupper the sort since 5KB will be seen as being bigger then 1GB.
Depending on what OS you are using it may be posisble to use:
Code:
find /home -type f -exec ls -ld --block-size=1048576 {} \; | sort -k 5 -r -n | head -10
If not, then we fall back to using a base of KB and alter the output using awk ...
Code:
find /home -type f -exec ls -ldk {} \; | sort -k 5 -r -n | head -10 | awk '{$5=$5/1024 ; print}'
You may want to use int($5/1024) instead, to get an integer, which will truncate, rather than round. So you may want to put a +1 on the end whcih will, at least, give a value for stuff actually under 1MB in size. If the file happens to be exactly a multiple of 1MB it will, of course, give a wrong-ish answer
