【问题标题】:How to add number to beginning of each line?如何在每行的开头添加数字?
【发布时间】:2016-08-06 10:11:25
【问题描述】:

这是我通常用来在每行开头添加数字的方法:

awk '{ print FNR " " $0 }' file

但是,我需要做的是从1000001 开始号码。有没有办法以这样的特定数字开始,而不必使用行号?

【问题讨论】:

  • 查看man nl。例如nl -v 1000001 file...
  • @twalberg:我认为应该是nl -ba ...,因为 OP 想要为 all 行编号,这不是默认值。
  • @user1934428 够公平的。不过,重点是引入一个 OP 可能没有意识到的实用程序......

标签: shell awk command-line sed


【解决方案1】:

您可以将1000001 添加到FNR(或NR):

awk '{ print (1000001 + FNR), $0 }' file

【讨论】:

    【解决方案2】:

    这个nl有一个特殊的命令

    nl -v1000001 file
    

    【讨论】:

      【解决方案3】:
      $ seq 5 | awk -v n=1000000 '{print ++n, $0}'
      1000001 1
      1000002 2
      1000003 3
      1000004 4
      1000005 5
      
      $ seq 5 | awk -v n=30 '{print ++n, $0}'
      31 1
      32 2
      33 3
      34 4
      35 5
      

      【讨论】:

        猜你喜欢
        • 2013-08-06
        • 2015-09-06
        • 2011-04-15
        • 1970-01-01
        • 2017-08-17
        • 2012-01-02
        • 1970-01-01
        • 2011-01-07
        相关资源
        最近更新 更多