Find files in Megabyte

Hi Guys,

Good day, is it possible to convert my simple find command below Megabytes with desired output.. Thanks a lot!

800MB ./filename

root@xxxx:/var # find . -xdev -size +4000 -exec ls -l {} \; | sort -rnk 5 | awk '{print $5" "$9}' | more
713300279 ./adm/syslog.2
708947404 ./adm/syslog.3
406445807 ./adm/syslog.1
392546712 ./adm/syslog
364814905 ./adm/syslog.0
136806336 ./preserve/Exaah80692
130104138 ./adm/cron/log
84541440 ./preserve/Exaaa21144
64028672 ./preserve/Exaal80692
59731028 ./preserve/Exaak80692
46700544 ./tmp/Ex34000

How about?

find . -xdev -size +1M -exec du -sh '{}' +
find . -xdev -size +4000 -exec ls -l {} \; | sort -rnk 5 | awk '{print $5/(1024*1024),$9}' | more

On several systems ls can

  • sort by size descending
  • output "human readable" size numbers.

Try

find /var/log -xdev -size +4000 -exec ls -lhS {} + | tr -s ' ' '\t' | cut  -f5,9