1

次の文字列を含むログ ファイルがあります。

2013-09-10 12:29:06 C9 T3 Update:555 Interfaces: 100 nodes: 0 ports: 0 flows: 106677
2013-09-10 12:30:07 C9 T3 Update:555 Interfaces: 100 nodes: 0 ports: 0 flows: 106281
2013-09-10 12:31:07 C9 T3 Update:555 Interfaces: 100 nodes: 0 ports: 0 flows: 108252
2013-09-10 12:32:06 C9 T3 Update:555 Interfaces: 100 nodes: 0 ports: 0 flows: 106650
2013-09-10 12:33:05 C9 T3 Update:555 Interfaces: 100 nodes: 0 ports: 0 flows: 49734

ファイルを読み込んでフローの数 (例: 106677) だけを grep し、それらの合計を計算するスクリプトを書きたいと思います。最善のアプローチに関するアイデアはありますか?最初に # のフローのみを削除してファイルに書き込んでから、合計する必要がありますか?

4

1 に答える 1

0

csvモジュールの使用について:

import csv

with open('logfile') as f:
    reader = csv.reader(f, delimiter=" ")
    print sum(int(line[-1]) for line in reader)

プリント:477594サンプルデータ用。

于 2013-09-10T23:03:52.743 に答える