awk printf 'duplicates' 行

awk printf 'duplicates' line

我正在尝试使用 awk 和 printf 将一些文件合并到一个文件中

File1, File2 ... MergedFile

文件的内容有很多输入,但我感兴趣的是事件,例如

File1:
...
event#          1 ...
...
event#          2 ...

格式是特定的,我想在根据编号修改后续文件中的所有事件时保留它

File2:
event#          1 becomes event#          3
event#          2 becomes event#          4
...   

到目前为止,我设法使用

做到了这一点
awk -v nev="$NEV" '/event#/{printf "%6s %9u\n", , +=nev}1' input > output

其中 NEV 是每个文件的事件数

但是,我的问题是这做了我想要的,但是添加了一个重复的行,就像这样

      MergedFile:
        ...
        event#          1 ...
        event# 1...
        ...
        event#          2 ...
        event# 2...
        ...
        event#          3 ...
        event# 3...
        ...
        event#          4 ...
        event# 4...
        ...

有什么解决办法吗? 提前致谢!

编辑:问题已解决。 性能是新问题。 我添加了 =event# 但它仍然很慢。有什么优化的想法吗?

还有space的问题,合并后的文件变得很大post合并我gzip了,但是我使用的磁盘可能没有足够的space来容纳未压缩的文件。

将 1 替换为 !/event#/ 可解决问题。 感谢@Wintermute