按字段

时间:2015-09-08 20:42:46

标签: bash sorting

我正在尝试编写一个BASH脚本,根据文件中的特定字段以数字方式对文件内容进行排序。

该文件位于/etc/group下。所有字段都以冒号分隔:。我必须根据第3个字段以数字方式对/etc/group的内容进行排序。

示例字段:daemon:*:1:root

我到目前为止所尝试的内容:

#!/bin/bash
sort /etc/group -n | cut -f 3-3 -d ":" /etc/group

这让我非常接近,但它只打印出第3个字段值的排序列表(因为cut从字面上删除了剩余的字符串)。我试图保留其余部分,但仍按第3个字段内容排序。

1 个答案:

答案 0 :(得分:1)

您可以像这样使用sort -t

sort -t : -nk3 /etc/group

-t :告诉sort使用字段分隔符:

-nk3告诉sort在字段#3上以数字方式对数据进行排序