170707-TextExtract1
ログ解析をしようと思ったらログファイルがでかすぎて読み込めない!って事が時々あります。
Windows標準のメモ帳ではまったく歯が立ちません。有名なテキストエディターだと結構読めたりもしますが、それでも大きすぎるとダメな場合も。

そんな時の為にExcelマクロを作ってみました。
テキストファイルを指定し、読み出したい行だけを抽出します。

170707-TextExtract2
■使い方

ファイル名:読み込みたいテキストファイルを指定する。
横の『...』ボタンでファイル選択ダイアログボックスから指定できる。
開始レコード:抽出し始める行番号を指定する。
終了レコード:抽出を終了する行番号を指定する。
レコード数:テキストファイルの行数が表示される。
検索語:入力した検索語のみ抽出対象にできる。
処理開始ボタン:設定条件を元に抽出処理を開始する。
レコード数取得ボタン:テキストファイルのレコード数を取得し、レコード数に表示する。

1. ファイル名を選択する。ダイアログボックスから指定するか、直接フルパスを入力する。
2. レコード数取得ボタンでレコード数を取得する。最終行番号がわかる。
3. 抽出したいレコード番号の開始と終了を入力する。
4. 特定の検索語のみを抽出したい場合は検索語を入力しておく。空白はすべてが対象に。
例:DBのログからSELECT文だけを抜き出したい場合は『SELECT』と入力する。
5. 『処理開始』ボタンをクリックし、抽出する。
6. 『out』シートに出力される。

今回、550MB、830万行のログファイルが送られてきてサクラエディタで開こうとしたらコケてしまって焦った。そういや昔Excelマクロ作ったなぁと。
ということで、必要な方はどうぞ。

ダウンロードページ: TextExtract.xlsm

ちなみに、いろいろ探してたら『GigaReader』というフリーウェアがあって1MBごとに表示できるようです。
編集も可能みたい。