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
我正在尝试使用 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