如何将递增的数字添加到与模式w/Bash(awk)匹配的行中

如何将递增的数字添加到与模式w/Bash(awk)匹配的行中,bash,awk,Bash,Awk,我有一个文件,其中有许多注释行随机插入,格式如下 Comment,blahblahblah Comment,blahblahblah Comment,blahblahblah 我想在注释行中添加一个递增的数字,例如 Comment,1 blahblahblah Comment,2 blahblahblah Comment,3 blahblahblah 我试过了,但运气不好 awk '{for(x=1;x<=NF;x++)if($x~/Comment,/){sub(/Comment,/C

我有一个文件,其中有许多注释行随机插入,格式如下

Comment,blahblahblah
Comment,blahblahblah
Comment,blahblahblah
我想在注释行中添加一个递增的数字,例如

Comment,1 blahblahblah
Comment,2 blahblahblah
Comment,3 blahblahblah
我试过了,但运气不好

awk '{for(x=1;x<=NF;x++)if($x~/Comment,/){sub(/Comment,/Comment, ++i)}}1' filename 

awk'{for(x=1;xsub()
的第二个参数应该是一个字符串,它需要在
注释周围加引号,

也不需要循环遍历列,只需匹配整行即可

awk '/Comment,/ { sub(/Comment,/, "Comment, " ++i) }1' filename

sub()
的第二个参数应该是一个字符串,它需要在
Comment,
周围加引号

也不需要循环遍历列,只需匹配整行即可

awk '/Comment,/ { sub(/Comment,/, "Comment, " ++i) }1' filename

你甚至不需要
awk
(除非你需要它快速)


你甚至不需要
awk
(除非你需要它快速)


另一个
awk

$ awk '{i+=sub(/^Comment,/,"&" i+1 " ")}1' file

Comment,1 blahblahblah
Comment,2 blahblahblah
Comment,3 blahblahblah

另一个
awk

$ awk '{i+=sub(/^Comment,/,"&" i+1 " ")}1' file

Comment,1 blahblahblah
Comment,2 blahblahblah
Comment,3 blahblahblah

如果您的输入文件可以包含不包含“注释”的行,那么请在示例输入/输出中包含这些行,因为这对哪种解决方案是最好的有着重大影响。如果您的输入文件可以包含不包含“注释”的行然后将这些内容包括在示例输入/输出中,因为这会对哪种解决方案最好产生重大影响。嘿,谢谢你的回答,评论此人缺少的内容而不仅仅是提供一行代码会很有帮助。祝StackOverflow好运!嘿,谢谢你的回答,评论此人是什么会很有帮助issing而不是只提供一行代码。祝StackOverflow好运!