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

これは、次のページを印刷する時期であることを示しています。

または、2 つのカウンターを保持することもできます。1 つは絶対行番号用で、もう 1 つは現在のページ内の行番号用です。秒カウンターが 22 を超えると、カウンターをゼロにリセットし、次のページの見出しを印刷します。

于 2009-10-15T22:47:20.047 に答える
0

いくつかの助けを借りてgawkの優先順位を計算しましたが、これは機能します-

maxlines = 22

maxnumber = 60

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