gawk中的公式

时间:2009-10-15 22:27:37

标签: gawk

我有一个问题,我正试图在gawk中解决。这应该是如此简单,但我的尝试最终导致零除错误。

我想要完成的事情如下 -

maxlines = 22 (fixed value)
maxnumber = > max lines (unknown value)

示例:

maxlines=22 
maxnumber=60

我的输出应如下所示:

print lines:
1
2
...
22
print lines:
23
24
...
45
print lines:
46 (remainder of 60 (maxnumber)) 
47
...
60

2 个答案:

答案 0 :(得分:1)

目前还不清楚你在问什么,但我想你想要在每22行之后循环输入行并打印一个新的标题(页眉?)。使用简单的计数器并检查

count % 22 == 1

告诉您是时候打印下一页了。

或者您可以保留两个计数器,一个用于绝对行号,另一个用于当前页面中的行号。当第二个计数器超过22时,将其重置为零并打印下一页标题。

答案 1 :(得分:0)

在一些帮助下完成了gawk优先级,这有效 -

maxlines = 22

maxnumber = 60

            for (i = 1; i <= maxnumber;  i++){
                    if ( ! ( (i-1) % maxlines) ){
                     print "\nprint lines:"
                      }
                    print i
            }