按大小排序

按大小排序

当我跑步时

ls | sort -S

我明白了

sort : option requires an argument -- ´S´

为什么我无法使用按大小排序选项对文件列表进行排序?我知道我只能ls单独使用该命令。

答案1

首先是命令ls有选择-S

man ls

-S     sort by file size

所以正确的命令是:

ls -S

sort命令用于对文本文件的行进行排序:

man sort

-S, --buffer-size=SIZE
              use SIZE for main memory buffer

SIZE 是一个整数,可选单位(例如:10M 是 10*1024*1024)。单位为 K、M、G、T、P、E、Z、Y(1024 的幂)或 KB、MB、...(1000 的幂)。

这就是为什么你会收到错误:sort : option requires an argument -- ´S´。使用ls -S用于按大小排序文件!

答案2

您还可以使用du带有一些参数的命令并使用sort

我使用以下内容:

$ du -hsc /path/to/file

man du

-h, --human-readable
      print sizes in human readable format (e.g., 1K 234M 2G)
-s, --summarize
      display only a total for each argument

-c, --total (I USE IT FOR EXTRA INFO)
      produce a grand total

排序

$ du -hsc /path/to/file | sort -h

man sort

-h, --human-numeric-sort
      compare human readable numbers (e.g., 2K 1G)

相关内容