Linux中带示例的sort命令
Linux的" sort"命令用于按特定顺序对文件内容进行排序。
它支持按字母顺序(升序或者降序),数字,反向顺序等对文件进行排序。
我们还可以从文件中删除重复的行。
在本文中,我们将看到Linux sort命令的不同用法示例。
使用sort命令时
以数字或者数字开头的行出现在带有字母的行之前。
以小写字母开头的行将出现在以相同字母开头但大写的行之前。
没有任何争论的Linux Sort命令
当使用sort
不带任何参数时,它将按字母顺序排列文本文件的内容。
在此示例中,我们使用文本文件" fruits.txt",如下所示。
要按字母顺序排序,请运行:
# sort fruits.txt
用-r选项排序
如果希望使用sort命令以相反的顺序对文件进行排序,请使用-r选项。
例如,要在前面的示例中反转输入文件的顺序,请执行:
# sort -r fruits.txt
按数字排序
要按数字顺序对文件进行排序,请使用-n属性。
在这个例子中,我们有一个文件digits.txt,如下所示
要将文件从最小值到最大值按数字顺序排序,请执行以下命令
# sort -n digits.txt
输出
您也可以使用-nr选项反转数值结果的顺序,即从最大值到最小值排序
为了说明这一点,我们将运行以下命令:
# sort -nr digits.txt
用-o选项排序
-o选项允许用户将文件的输出写入新文件。
使用此选项与将输出重定向到另一个文件相同,如下所示:
# sort fruits.txt > newfile.txt
要将文件的输出使用-o选项写入新文件,请使用以下语法
# sort -o newfile.txt filename.txt
例如,
# sort sorted_fruits.txt fruits.txt
用-u选项排序
-u选项用于删除文本文件中的重复文件,同时按字母顺序对文本进行排序。
在此示例中,我们将使用" cars.txt",如下所示
如您所见,我们有两种重复的汽车模型:丰田和保时捷。
要删除这些重复项并按字母顺序排序,请运行
# sort -u cars.txt
用-k选项排序
-k选项根据列号对表进行排序。
例如,如果您有一个包含2列的表,请使用-k -2n选项对第二列进行排序。
在这个例子中,我们有文本文件" bonus.txt"
要对第二列进行排序,请执行
# sort -k -2n bonus.txt
使用-M选项排序月份
使用-M选项对包含月份的文件进行升序排序,即{Jan,Feb,…Nov,Dec}
我们有一个文件months.txt,如下所示
要对月份排序以便执行:
# sort -M months.txt
检查sort命令的版本
检查版本od sort命令运行
$sort --version
排序命令中的更多选项
要使自己熟悉除我们介绍的命令以外的其他命令,请访问排序手册页
# man sort