【问题标题】:How to insert a column with serial number in shell?如何在shell中插入带有序列号的列?
【发布时间】:2015-08-17 01:32:34
【问题描述】:

我有一个包含 4 列的文件。

ifile.txt
2 3 4 2
2 3 4 1
4 3 4 3
4 5 3 5
. . . .

我需要为序列号插入一列,例如:

ofile.txt
1 2 3 4 2
2 2 3 4 1
3 4 3 4 3
4 4 5 3 5
5 . . . .
. . . . .

我尝试使用 awk ,但不成功

awk '{print i, $1, $2, $3, $4}' ifile.txt > ofile.txt

【问题讨论】:

    标签: linux shell awk


    【解决方案1】:

    您可以使用内置的NR,它是一个基于 1 的记录计数器。

    awk '{print NR, $1, $2, $3, $4}' ifile.txt > ofile.txt
    

    通用形式为:

    awk '{print NR, $0}'
    

    这将打印出整个记录(以其序列号为前缀),无论有多少字段。

    【讨论】:

      【解决方案2】:

      您也可以使用nl,它可以让您更好地控制格式

      nl filename
      

      或者,对于基本编号

      cat -n filename
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-26
        • 2013-06-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多