按文件大小对 ls 输出进​​行排序

Sorting ls output by file size

我目前正在使用以下方法按字节数对 ls -l 的输出进行排序:

ls -l | sort -r -k5,5 -n

如果我想使用 -@ 标志使它工作怎么办?目前这将输出:

-rwxr-xr-x@ 1 name  staff  7106  2 May 10:43 c
-rwxr-xr-x  1 name  staff   675 22 Apr 17:57 a
-rwxr-xr-x  1 name  staff   486 23 Apr 07:56 b
drwxr-xr-x  4 name  staff   136 25 Apr 18:38 d
-rwxr-xr-x  1 name  staff   120 23 Apr 07:59 e
-rwxr-xr-x  1 name  staff   112 22 Apr 18:45 g
-rwxr-xr-x  1 name  staff    51 22 Apr 18:45 f
total 56
    com.apple.metadata:_kMDItemUserTags   42

我希望它采用扩展属性键行并将其保存在适当的文件下方,如下所示:

-rwxr-xr-x@ 1 name  staff  7106  2 May 10:43 c
    com.apple.metadata:_kMDItemUserTags   42
-rwxr-xr-x  1 name  staff   675 22 Apr 17:57 a
-rwxr-xr-x  1 name  staff   486 23 Apr 07:56 b
drwxr-xr-x  4 name  staff   136 25 Apr 18:38 d
-rwxr-xr-x  1 name  staff   120 23 Apr 07:59 e
-rwxr-xr-x  1 name  staff   112 22 Apr 18:45 g
-rwxr-xr-x  1 name  staff    51 22 Apr 18:45 f
total 56

无需使用sort,只需将-S选项与ls

一起使用
ls -Sl

(这是一个大写的S)