我们执行ls命令一般会有类似下面的输出:
代码语言:javascript复制$ ls -lh
total 1.1M
-rw-r--r-- 1 yt yt 512 Nov 5 23:29 a.txt
-rw-r--r-- 1 yt yt 1.0K Nov 5 23:29 b.txt
-rw-r--r-- 1 yt yt 5.0K Nov 5 23:30 c.txt
-rw-r--r-- 1 yt yt 1.1M Nov 5 23:31 d.txt
假设我们想对文件大小进行排序,可以用sort命令:
代码语言:javascript复制$ ls -lh | sort -k 5
total 1.1M
-rw-r--r-- 1 yt yt 1.0K Nov 5 23:29 b.txt
-rw-r--r-- 1 yt yt 1.1M Nov 5 23:31 d.txt
-rw-r--r-- 1 yt yt 5.0K Nov 5 23:30 c.txt
-rw-r--r-- 1 yt yt 512 Nov 5 23:29 a.txt
上面命令中的sort参数 -k 5 表示按第5列排序,也就是按文件大小排序。
在上面的命令中,sort虽然按文件大小列排序了,但只是按字面值排的,并没有算上单位,所以我们还要再加个参数,最终命令如下:
代码语言:javascript复制$ ls -lh | sort -k 5 -h
total 1.1M
-rw-r--r-- 1 yt yt 512 Nov 5 23:29 a.txt
-rw-r--r-- 1 yt yt 1.0K Nov 5 23:29 b.txt
-rw-r--r-- 1 yt yt 5.0K Nov 5 23:30 c.txt
-rw-r--r-- 1 yt yt 1.1M Nov 5 23:31 d.txt
这次sort命令就是真正的按文件大小排序了。
sort命令还可以对很多内容,按很多方式进行排序,我们这里只是以ls命令的输出作为示例简单的介绍了下。
建议大家都看看sort命令的man文档,很简单。