0

我有一个问题,我正试图在 gawk 中解决。这应该很简单,但我的尝试以除以零错误结束。

我想要完成的工作如下——</p>

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
4

2 回答 2

1

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

count % 22 == 1

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

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

于 2009-10-15T22:47:20.047 回答
0

在一些帮助下制定了 gawk 优先级,这很有效 -

最大线 = 22

最大数量 = 60

            for (i = 1; i <= maxnumber;  i++){
                    if ( ! ( (i-1) % maxlines) ){
                     print "\nprint lines:"
                      }
                    print i
            }
于 2009-10-18T01:44:47.243 回答