【发布时间】:2012-04-13 02:27:45
【问题描述】:
我真的不想浪费人们的时间来问这个,但是在我自己的时间用完 2 小时后,我决定问..
基本上我有一个格式为:
word: other words; more words here; last word
word: more words here; last word
(etc) x 100
其他单词/更多单词的出现次数可以为零或更多。
我的目标是计算 ';' 的次数每行出现一次,然后在行首打印。
我的逻辑是,将 awk 用于 ';' 的正则表达式并在每次发生时增加一个变量,然后打印该变量。
目前我有:(顺便说一句,我如何将我的代码像阴影框一样放入...?)
awk ' /;/ {n=n+1} {print n " " $0}' a.txt
但是,当 awk 在下一行中读取时,我的 'n' 没有重置,因此我被撤消了。 当 awk 移到下一行时,如何重置 n? 我尝试设置 v=NR 并且如果 v!=NR 然后 n = 0,但我无法做到这一点。
我还有最后一个问题,如何将变量设置为等于正则表达式?
谢谢大家,
【问题讨论】: