【发布时间】:2020-05-29 16:11:20
【问题描述】:
如果我想列出所有文件(不是目录)及其大小,并且它们的大小从大到小排序,我需要做什么?我试过find . -type f -exec ls -Shl {} \;,但它确实按顺序列出了文件(按它们的大小)。谁能帮忙??
【问题讨论】:
-
试试
find . -type f -printf '%k %P | sort -g
如果我想列出所有文件(不是目录)及其大小,并且它们的大小从大到小排序,我需要做什么?我试过find . -type f -exec ls -Shl {} \;,但它确实按顺序列出了文件(按它们的大小)。谁能帮忙??
【问题讨论】:
find . -type f -printf '%k %P | sort -g
使用+ 而不是\;。
find . -type f -exec ls -Shl {} +
\; 每个文件调用一次 ls 而+ 使用所有匹配的文件名调用一次。
【讨论】:
+ 不会处理所有文件,这取决于要处理的文件数量。使用+ find 将处理尽可能多的文件,同时避免argmax 请参阅in-ulm.de/~mascheck/various/argmax 你知道错误提示list arguments too long 请参阅stackoverflow.com/questions/11289551/…