How to find the largest file in a directory and its subdirectories?

前端 未结 15 1382
醉梦人生
醉梦人生 2020-11-28 18:29

We\'re just starting a UNIX class and are learning a variety of Bash commands. Our assignment involves performing various commands on a directory that has a number of folder

15条回答
  •  萌比男神i
    2020-11-28 19:05

    find . -type f | xargs ls -lS | head -n 1
    

    outputs

    -rw-r--r--  1 nneonneo  staff  9274991 Apr 11 02:29 ./devel/misc/test.out
    

    If you just want the filename:

    find . -type f | xargs ls -1S | head -n 1
    

    This avoids using awk and allows you to use whatever flags you want in ls.

    Caveat. Because xargs tries to avoid building overlong command lines, this might fail if you run it on a directory with a lot of files because ls ends up executing more than once. It's not an insurmountable problem (you can collect the head -n 1 output from each ls invocation, and run ls -S again, looping until you have a single file), but it does mar this approach somewhat.

提交回复
热议问题