【问题标题】:Sorting file contents numerically by field按字段对文件内容进行数字排序
【发布时间】:2015-09-09 04:46:00
【问题描述】:

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

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

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

到目前为止我正在尝试什么:

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

这让我非常接近,但它只打印出第三个字段值的排序列表(因为cut 从字面上删除了该行的其余部分)。我正在尝试保留该行的其余部分,但仍按第三个字段内容对其进行排序。

【问题讨论】:

    标签: bash sorting


    【解决方案1】:

    你可以像这样使用sort -t

    sort -t : -nk3 /etc/group
    

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

    -nk3 告诉sort 对字段#3 上的数据进行数字排序

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-13
      • 2012-06-20
      • 2017-12-16
      • 1970-01-01
      • 2021-09-10
      • 2013-10-06
      • 1970-01-01
      • 2015-10-21
      相关资源
      最近更新 更多