私はパーサーを書いています。私は、Pythonを使用しないようにしようとしていますが、私はこの時点でする必要があります。およそ100,000行については整数の列に5行ごとに加算するBASH
1
0
2
3
0
0
1
0
0
2
0
3
0
4
0
5
0
2
.
.
.
:
は、次のようになりますSTDOUTを考えます。
6
3
7
.
.
.
:
1 - start
0 |
2 | - 6
3 |
0 - end
0 - start
1 |
0 | - 3
0 |
2 - end
0 - start
3 |
0 | - 7
4 |
0 - end
5
0
2
.
.
.
は-
、|
は、start
は、end
は、すべての視覚的な表現のために、私はちょうど列リストにそれを必要としている:私は何をする必要があることはそうのように、すべての5を足しています
私は現在、インクリメントhead -n $i
とtail -n 5
を使用してリストから5行を削除する方法を持っています。次に、paste -sd+ - | bc
を使用してすべての値を加算します。しかし、100,000の列があるため、これは遅くなります。
誰かが何か追加したいのであれば、私はそれを感謝します。もっと情報が必要な場合はお知らせください。
はawk
が使用する自然なツールであるように見えますあなた
'perlの-lne「$ T + = $ _;場合(ない$%5。){印刷$ tの。 $ t = 0;} 'ファイル' –
ゴルフ、ええ@ k-five? 'awk' 0 *(t + = $ 1)== NR%5 {print t; t = 0} 'ファイル'は18文字短いです:-) –