找到&在多个文件中替换为增量

时间:2017-05-09 11:14:10

标签: notepad++ gawk

我有数百个html文件,每个文件都有一个术语"问题1"在其中给出,在同一文件中的两个不同位置。我的目标是增加文件的问题编号。

例如: 文件是A1,A2,A3 ......等。文件A1有"问题1"在文件中的两个位置给出。此文件不需要更改。

文件A2再次出现"问题1"在文件中的两个位置给出。需要更改此文件,以便"问题1"自动递增到"问题2"在两个地方,等等所有文件。

如何用Gawk脚本执行此操作?我喜欢Notepad ++,但我不是技术(程序员)用户。我需要一种相对简单的方法来执行这项易于重复和及时的任务。

2 个答案:

答案 0 :(得分:1)

awk脚本中您需要的只是:

@load "inplace"
{ sub(/\<Issue 1\>/,"Issue " ARGIND); print}

然后将其称为awk -f script A*或Windows上的任何语法。首先获取当前版本的gawk - 您的版本已超过5年,并且缺少TON的有用功能。还要认真考虑从那里获得cygwin和运行gawk以及所有其他UNIX工具 - 这将使你的生活变得更加容易!

答案 1 :(得分:0)

这是一个可能对您有帮助的GNU awk脚本。

<强> script.awk

FNR==1    { fileCount++
            outFile = FILENAME ".mod"
          }
          { $0 = gensub(/Issue 1([^0-9]|$)/, "Issue " fileCount "\\1", "g")
            print > outFile
          }
  1. 制作原始文件的备份副本
  2. 运行如下脚本:awk -f script.awk pa*.html
  3. 确保生成的pa*.html.mod文件是正确结果
    1. 只有这样:将mod文件重命名为orignal filenames