grep:注释出现次数

jka*_*ang 2 grep text-processing

我有一个格式类似于以下内容的文本文件:

PktType1 Header
PktType1 Pay
PktType1 Done
PktType0 Header
PktType0 Pay
PktType0 Done
...
Run Code Online (Sandbox Code Playgroud)

我想做的是 grep 查找所有出现的情况PktType0 Done,然后注释第 N 个出现的情况以及行号。例如:

1 42 PktType0 Done
2 65 PktType0 Done
3 75 PktType0 Done
Run Code Online (Sandbox Code Playgroud)

其中 42、65 和 75 是行号,1、2 和 3 只是出现次数的计数。我想我可以将其写入文件,然后显示行号。但我想知道是否有一个工具可以将其传递给它,它可以做同样的事情。

Ini*_*ian 5

如果您想要的不仅仅是模式匹配,还需要使用行号和匹配计数进行其他格式化,那么 Awk 是比 grep 更好的选择

awk '/PktType0 Done/{ print ++count, NR, $0 }' file
Run Code Online (Sandbox Code Playgroud)