Command

按大小排序

  • September 18, 2016

當我跑

ls | sort -S

我明白了

sort : option requires an argument -- ´S´

為什麼我不能使用排序選項按大小對文件列表進行排序?我知道我只能ls單獨使用命令。

首先命令**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 為 1010241024)。單位是 K、M、G、T、P、E、Z、Y(1024 的冪)或 KB、MB、…(1000 的冪)。

這就是您收到錯誤消息的原因:sort : option requires an argument -- ´S´. 用於**ls -S**按大小排序文件!

您還可以使用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)

引用自:https://unix.stackexchange.com/questions/165200