代码之家  ›  专栏  ›  技术社区  ›  Laser

为匹配的引用添加数字顺序

  •  2
  • Laser  · 技术社区  · 14 年前

    我有一些问题。
    我有一个大文件,其中提供了一个错误,文本为“这是一个错误”。
    在源代码中,我有很多具有相同文本的行。 如何将所有这行更改为计数行。
    我的意思是,我想这样改变它:

    some_function ()
     {
     provide  "it's an error"
      } 
     another_function ()
     provide  "it's an error"
     provide  "it's an error"
    

    现在我想得到下一个:

    some_function ()
     {
     provide  "1 it's an error"
      } 
     another_function ()
     provide  "2 it's an error"
     provide  "3 it's an error"
    

    或者相同,但有行号。

    2 回复  |  直到 14 年前
        1
  •  3
  •   Nykakin    14 年前

    使用行号:

    awk '{gsub(/it.s an error/, NR" &"); print }' filename
    
        2
  •  2
  •   caio    14 年前

    你可以使用Vim(正如你标记的帖子)来实现这一点:

    :let i=1 | g/\zeit's an error/s//\=i." "/g | let i=i+1
    

    或者使用以下其他方式用错误行枚举错误:

    :%s/\zeit's an error/\=line('.')." "/g