Linuxsort命令使用实例

Sort是用于对单个或多个文本文件内容进行排序的Linux程序。Sort命令以空格作为字段分隔符,将一行分割为多个关键字对文件进行排序。需要注意的是除非你将输出重定向到文件中,否则Sort命令并不对文件内容进行实际的排序(即文件内容没有修改),只是将文件内容按有序输出。

成都创新互联服务项目包括屯留网站建设、屯留网站制作、屯留网页制作以及屯留网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,屯留网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到屯留省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

命令格式

sort [OPTION]... [FILE]...
sort [OPTION]... --files0-from=F

选项说明

注意,长选项的强制性参数对于短选项也是强制的。

-b, --ignore-leading-blanks
忽略每行前面的空格字符
-c, --check, --check=diagnose-first
只检查文件是否已排序,不进行排序
-C, --check=quiet, --check=silent
类似于 -c,但不报告第一个乱序的行
-d, --dictionary-order
按照字典序,只考虑字母、数字及空格字符,忽略其他字符
--files0-from=F
从文件 F 中以 NUL 字符结尾的字符串作为输入文件名;如果 F 是 -,则从标准输入中读取文件名
-f, --ignore-case
排序时,将小写字母视为大写字母
-i, --ignore-nonprinting
排序时,只考虑可打印字符,忽略不可打印字符
-m, --merge
合并多个已排序的文件
-n, --numeric-sort
按数值大小排序
-o, --output=FILE
将排序结果输出到指定文件
-r,--reverse
逆向输出排序结果(降序排序)
-t, --field-separator=SEP
指定排序时使用的分隔字符,sort命令默认字段分隔符为空格和Tab
-u, --unique
相同的数据中,仅输出一行
-k,--key=POS1[,POS2]
以第 POS1 栏到 POS2 栏排序,默认到最后一栏
--help
显示帮助信息并退出
--version
显示版本信息并退出

常用示例

(1)对 /etc/passwd 进行排序。

cat /etc/passwd | sort
adm:x:3:4:adm:/var/adm:/sbin/nologin
apache:x:48:48:Apache:/var/www:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin

(2)/etc/passwd 内容以冒号:来分隔,以第三栏至行末尾栏来排序。

cat /etc/passwd | sort -t ':' -k 3
root:x:0:0:root:/root:/bin/bash
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin

(3)如果对 /etc/passwd,以第六个域的第 2 个字符到第 4 个字符进行升序排序,再基于第一个域进行反向排序。

cat /etc/passwd | sort -t ':' -k 6.2,6.4 -k 1,1r
sync:x:4:65534:sync:/bin:/bin/sync
proxy:x:13:13:proxy:/bin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
bin:x:3:3:sys:/dev:/bin/sh

可以看出,六个域的第 2 个字符到第 4 个字符是升序排序。六个域的第 2 个字符到第 4 个字符如果相同则分为一组,组内再按照第一个域进行降序排序。注意,-r 需要与第二个 -k 的 连写,否则对前面两个 -k 均有效。

当前名称:Linuxsort命令使用实例
文章链接:http://www.36103.cn/qtweb/news3/3103.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联