Linux 系统 sort 命令

sort排序基本语法:

sort [选项] [文件]

常用选项:

-r:逆序排序(降序)。
-n:按数值进行排序。
-k 字段:按指定的字段进行排序。该参数可指定多个字段,使用逗号分隔。默认字段分隔符为制表符或空格。
-t 分隔符:指定字段的分隔符。
-u:去除重复行,仅保留第一次出现的行。
-f:忽略大小写进行排序。
-b:忽略行首的空白字符进行排序。
-c:检查文件是否已经排好序,如果未排序则输出第一个不符合排序顺序的行。
-f:忽略大小写进行排序。例如,sort -f file.txt 将忽略行首字母的大小写进行排序。
-b:忽略行首的空白字符进行排序。
-c:检查文件是否已经排好序,如果未排序则输出第一个不符合排序顺序的行。

示例:

按行排序

sort 文件名

按第二个字段(年龄)进行排序,可以使用 -k 选项指定要排序的字段,并使用 -t 选项指定字段的分隔符(这里是空格):

sort -k 2 -t ' ' 1.txt

数字正序排序

默认情况下,sort 命令按照字典顺序对数字进行排序。如果需要按照数值大小排序,可以使用 -n 选项

数字逆序排序:使用-r

去除重复行

sort 命令还可以用于去除文本文件中的重复行,只保留第一次出现的行。使用 -u 选项即可实现。

按照多个字段排序

sort 命令支持按照多个字段进行排序。可以使用多个 -k 选项来指定要排序的字段和排序顺序。例如,假设有一个名为 data.txt 的文本文件:

使用 -k 3r 指定按第三个字段降序排序(r 表示逆序),再使用 -k 2n 指定按第二个字段升序排序(n 表示按数值排序)。

忽略前导字符

有时文本文件的每行可能会包含一些前导字符,例如空格或制表符。如果希望在排序时忽略这些前导字符,可以使用 -b 选项。例如,假设有一个名为 file.txt 的文本文件:

合并多个文件排序

sort 命令还可以合并多个文件并进行排序。只需将要排序的文件名依次列出即可。例如,假设有两个文件 file1.txt 和 file2.txt:

合并后的结果是将两个文件的内容整体排序

从标准输入读取数据排序

除了从文件中读取数据,sort 命令还可以从标准输入读取数据并进行排序。这样可以方便地与其他命令结合使用。例如,要对一组数字进行排序,可以使用管道将其传递给 sort 命令。例如:

这里使用 echo 命令生成一组数字,并通过管道 | 将其传递给 sort 命令进行排序。

echo(选项)(参数)选项

-e:激活转义字符。使用-e选项时,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:

•\a 发出警告声;
•\b 删除前一个字符;
•\c 最后不加上换行符号;
•\f 换行但光标仍旧停留在原来的位置;
•\n 换行且光标移至行首;
•\r 光标移至行首,但不换行;
•\t 插入tab;
•\v 与\f相同;
•\\ 插入\字符;
•\nnn 插入nnn(八进制)所代表的ASCII字符;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值