![按大小排序](https://linux22.com/image/58557/%E6%8C%89%E5%A4%A7%E5%B0%8F%E6%8E%92%E5%BA%8F.png)
当我跑步时
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)