Skip to content

sort 命令

基本用法

排序文本

bash
#!/bin/bash

# 排序文本
sort file.txt

逆序排序

bash
#!/bin/bash

# 逆序排序
sort -r file.txt

常用选项

-n 选项

bash
#!/bin/bash

# 数字排序
sort -n file.txt

-r 选项

bash
#!/bin/bash

# 逆序排序
sort -r file.txt

-k 选项

bash
#!/bin/bash

# 按第 2 列排序
sort -k2 file.txt

-t 选项

bash
#!/bin/bash

# 设置分隔符
sort -t: -k1 /etc/passwd

-u 选项

bash
#!/bin/bash

# 去重排序
sort -u file.txt

实用示例

示例1:数字排序

bash
#!/bin/bash

# 数字排序
sort -n numbers.txt

# 逆序数字排序
sort -nr numbers.txt

示例2:字段排序

bash
#!/bin/bash

# 按第 2 列排序
sort -k2 data.txt

# 按第 2 列数字排序
sort -k2n data.txt

示例3:分隔符排序

bash
#!/bin/bash

# 按冒号分隔的第 1 列排序
sort -t: -k1 /etc/passwd

示例4:去重排序

bash
#!/bin/bash

# 去重排序
sort -u file.txt

# 先排序再去重
sort file.txt | uniq

最佳实践

1. 使用 -n 选项

bash
# 好的做法
sort -n numbers.txt

# 不好的做法
sort numbers.txt

2. 使用 -k 选项

bash
# 好的做法
sort -k2 data.txt

# 不好的做法
awk '{print $2, $0}' data.txt | sort | cut -d' ' -f2-

3. 使用 -t 选项

bash
# 好的做法
sort -t: -k1 /etc/passwd

# 不好的做法
awk -F: '{print $1, $0}' /etc/passwd | sort | cut -d' ' -f2-

总结

sort 命令的关键点:

  1. 基本用法sort file.txt
  2. 常用选项-n-r-k-t-u
  3. 实用示例:数字排序、字段排序、分隔符排序、去重排序
  4. 最佳实践:使用 -n 选项、使用 -k 选项、使用 -t 选项

下一节我们将学习 uniq 命令的使用。