我有一个名为 的目录root
。它有深层嵌套的子目录。在这些子目录中,有一堆文件。我想找到 中最大的文件root
。
我不根本不想找到目录。我不关心最大目录的大小,我只想找到最大的文件。
root
|
- subdir1
|
- small file 1
- large file 1
- small file 2
... lots more files
- subdir2
|
- small file 3
- large file 2
我想打印出large file 1
和large file 2
。我不希望它打印出有关root
、、subdir1
或的任何内容subdir2
,即使它们大于large file 1
或2
。这对我来说只是噪音。
我如何在 Mac 上的命令行上执行此操作?
答案1
让我们ls
进行排序->
find . -type f -exec ls -S {} + | head -n10
答案2
这就是我想出的:
find . -type f -exec ls -l {} + | sort -rk 5,5 | head -10
查找所有文件(忽略目录),然后ls -l
查找它们,这样我就可以看到它们的大小。将其传递给 sort。-k 5,5
表示按第 5 列(具有大小的列)排序,并按-r
降序排序。 head -10
给我最大的 10 个(不是完整列表)。