ファイル中の特定文字列数をカウントする
いろいろやり方はあるけどPythonでやるのが楽ちん。
文字列読み込んでstr.count('hoge')で一発。
以下、改行文字として[#@@@@#]という頭の悪い文字列を使ったCSVデータの改行文字数=列数をカウントするサンプル。
count_line.py
#!/usr/bin/python import sys argvs = sys.argv if len(argvs) != 2: print ' usage: $python %s [filename]' % argvs[0] sys.exit(1) line = "" buffsize = 1024 * 1024 * 1024 # 1GB buffer while True: buff = f.read(buffsize) line += buff if len(buff) != buffsize: break print ' line is %s . ' % line.count('[#@@@@#]')
CentOSのPython 2.4だとファイルサイズが大きすぎる場合にこけますけど
まあやっつけ仕事なんで多めに見てください。
あとPythonは2.4とか使ってないで新しくしたほうがよいです。