ログファイルの整理方法
長時間トリプ検索をしていると、ログファイルの中にはトリプがイパーイ溜まって逝きます。一つ一つチェクして選別するのはマンドクサ…。効率的に整理していく方法はないか、と考えてみて、自分がやってみている方法を書いてみます。何かの参考になれば幸い。
トリプ検索アプリには、r*8シリーズ、トリプモナ、見知らぬ国のトリパー(wなどなど色々あります。どれも結構な数のターゲットを検索出来ます。ログファイルの中で、取っておきたいものとイラネ!!というものを選別する作業も結構大変。楽したい。どうしたら楽になるだろう…?取り敢えず何らかの規則的な順番で並んでいたら見やすいかも!
と言うことで、ソートをかけてみませう。エクセルなどにも付いてるけれど、ログファイルをエクセルに取り込んでソートするのもマンドクサ…。モチョットラクチンな方法はないか…?
試してみたのは、
- ソートしてくれるアプリを使う
- ソート機能があるテキストエディタを使う
- コマンドプロンプトを使ってみる
一つ目のアプリを使う方法は今は使用してません。以前使っていたのは「そー太」というフリーウェアです。作者のサイト、今は404になってしまってますた…。
「そ〜太 2nd」という名前で、淘気鬼児工房で公開されています(情報提供◆CCAYAYAACIサソ)。
「そ〜太 2nd」のオプション→ソート設定で、「重複行の削除」「改行のみの行を削除」にチェックを入れて適当な保存名を付けて設定を保存おくと、r*8シリーズのように一行おきにログが出力されてくるアプリのログ管理も楽になります。
アプリを使う方法が一番手軽で簡単かも
以下、二つ目と三つ目について説明してみようと思います。
補足
トリプモナをオプションなしで使っている場合、「トリプキー:トリプ」という順番でresult.txtにログが出力されます。この状態で「そ〜太 2nd」を使用してソートすると、トリプキーを基準にソートされてしまいます。トリプモナのオプションに「-x」を指定しておいて、「トリプ:トリプキー」の順番で出力されるようにしておくといいかも。
既に出力されているログファイルに関しては、
- 矩形選択の出来るテキストエディタで、トリプ部分を前に持ってくる。
- エクセルでresult.txtを取り込んで、トリプを前に持ってくる(この場合、ついでにエクセルでソートしたほうがいいかも)。
- コマンドプロンプトのsortコマンドでソートする(下の方参照)。
ソート機能があるテキストエディタを使う
サクラエディタを使う
サクラエディタはフリーウェアです。ダウソしてきたら、解凍。解凍の仕方が分からないyo!という人は、ここを読んでみてください。このサクラエディタでログファイルを開いて、Ctrl+Aで全部選択→編集→整形→選択行の昇順ソート で、ソートされます。フリーウェアなので、試しに使ってみるのもいいかも。ソート速度も問題なく快適です。
秀丸を使う
秀丸はシェアウェアです。試しに使ってみることは出来ますが、継続して使用するには支払いが必要になります。こちらはマクロを使ってソートすることになります。公式サイトのマクロライブラリにあるものは、遅すぎで使い勝手が悪かった…。ダビスタなページというところの、ライブラリ(ダビスタ以外)にある、高速ソートマクロは、速くて使い勝手がよかったです。
コマンドプロンプトを使ってみる
コマンドプロンプトとは何か?については、「コマンドプロンプトとは?」とかでググル検索してみてください。
普段は使わないこのコマンドプロンプトを使って、ログファイルのソートやログファイル内のトリプの検索などが出来ます。
- コマンドプロンプトを起動
- ログファイルを保管しているフォルダに移動
- ログファイルの中のトリプをソート
- ログファイル内のトリプを検索
説明の前に、自分のログファイルの場所を示しておきますので、各人置き換えて読んでいってください
C- +/trip +/ra8 +/rb8 +/l2 +/tripmona +/tripper
cドライブ直下にtripというフォルダを作り、その中に各検索アプリごとのフォルダを作っています。各検索アプリごとのフォルダ内に、それぞれのログファイルが入っています。これだとチョット説明がマンドクサになるので、
C- +/trip-hit.txt
と、C直下のトリップフォルダにログファイルがある、という前提で話を進めます。
説明用に、hit.txtを一つ用意しますた。 hoge giko mona uzee moee nota hosu mono seek trip boya をターゲットとして、ra8aで暫く回してみたものです。このログファイルを整理してみます。
コマンドプロンプトを起動する
スタート→全てのプログラム→アクセサリ→コマンドプロンプトをクリック、で起動します。または、スタート→ファイル名を指定して実行→cmdと入力してOKをクリック、でも可。
起動すると、黒い窓が開きます。r*8シリーズや、トリプモナを使った検索のときに開くような窓です。自分の場合、起動直後は
Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:\Documents and Settings\boya>
という表示になっています。これは、「今CドライブのDocuments and Settingsディレクトリ(フォルダ)のboyaディレクトリ(フォルダ)にいます、ということです。
最初に言っておきますが、この黒い窓は普通にコピペしたり出来ません。左上にあるアイコンをクリックして、編集、というところから範囲選択したり、コピーしたり貼り付けしたりをします。プロパティを選択して、オプションの中の「簡易編集モード」にチェックを入れておけば、普段しているように範囲選択が出来ます。範囲選択した後、エンターキーを叩くとコピーが出来ます。Ctrl+Cは使えません。
ログファイルを保管しているフォルダに移動
cd(チェンジディレクトリ)というコマンドを使って移動します。cdの後に、c:\移動したいディレクトリ名(フォルダ名)で移動できます。フォントの関係で、説明部分ではc:\移動したいディレクトリ、と見えていると思いますが、\はハンカクの¥です。
Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:\Documents and Settings\boya>cd c:\trip C:\trip>
これが移動後の状態。ドライブを移動するときは、cd d: と入力してエンターキーをたたくと、dドライブに移動できます。
移動先のディレクトリがマイドキュメントにあったりすると移動がマンドクサなので、
Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:\Documents and Settings\boya>cd(ここに半角スペース)
とだけ入力して、自分のログファイルのあるディレクトリ(フォルダ)をコマンドプロンプトの黒い窓の中にドラッグアンドドロップすると、そのフォルダのフルパスが自動的に入力されるので、後はエンターキーを叩くだけで移動できます。
ログファイルの中のトリプをソート
sortというコマンドを使用します。
C:\trip>sort hit.txt
と入力して(hit.txtの部分は、各人のソートしたいログファイル名)、エンターキーをたたくと、
MOnOHFBHps : #!!!!j_]% MOnOhUlr2o : #!!!!-Lfv MOnOHwV3oc : #!!!!RkVU mOnOhxQ8eE : #!!!!k#;N MonoihU1BQ : #!!!!)!)] mONOIkzizE : #!!!!,@{j mONOiR7WAQ : #!!!!`f5Y MOnoJ7wS9I : #!!!!m'c' mOnOjCEQRw : #!!!!:.Ye MOnojPSpAE : #!!!!efWi MOnom43.9o : #!!!!95b) MonOMajyGg : #!!!!XgWO MOnONB0PEk : #!!!!f8He 以下略
という感じでソート結果が黒い窓の中にズラズラッっと出てきます。これだと不便なので、今度は
C:\trip>sort hit.txt>sort.txt
と入力してエンターキーを叩くと、
C:\trip>sort hit.txt>sort.txt C:\trip>
と表示されるはず。ログファイルを保管しているフォルダの中に、sort.txtというものが生まれているはずです。それを開いてみると、ソート結果が出力されていて(゚д゚)ウマー
r*8シリーズの場合、ログが一行おきに出力されているので、上のほうが真っ白ですが、sort.txtの半分から下にはきちんとソートされた結果が出ています。
トリプモナのresult.txtの場合、トリプキー:トリプの順番で出力される為、トリプモナのオプションで -x を指定してトリプ:トリプキーの順番で出力されるようにしておくか、
C:\trip>sort sort/+13 result.txt>sort.txt
とすればいいです。「/+13」とは、「13番目の文字でソートする」というオプションです。sortコマンドについては、「sort/?」と入力してエンターキーを叩くと、その説明を見ることが出来ますので、一度確認してみてください。
ログファイル内のトリプを検索
トリプモナやトリパでは、ソートさえ出来れば後は整理は結構楽鴨。でも、ra8などで大文字小文字区別なしで大量検索していると、これだけだとまだ整理し辛い鴨…。
と言うことで、今度はコマンドプロンプトを使ってトリプの検索をしてみます。hit.txtを例として使っていきます。
hit.txtの中には、 hoge giko mona uzee moee nota hosu mono seek trip boya を大文字小文字区別なしで検索した結果が出力されていますが、この中から小文字の mona だけを検索してみます。findstrというコマンドを使います。
C:\trip>findstr mona hit.txt
と入力。「hit.txtから大文字小文字の区別ありでmonaを探して」という意味のコマンドです。エンターキーを叩くと、
C:\trip>findstr mona hit.txt monaO5epKI : #!!!!*lBx mona2kGc5Y : #!!!!53LQ monatDTipc : #!!!!DH}9 monaNYoDZQ : #!!!!Ohd% monaZpwXK. : #!!!!U8cg monaZhwMjQ : #!!!!_E
と、検索結果が出てきます。sortコマンドの時と同様、
C:\trip>findstr mona hit.txt>mona.txt
としておけば、この結果はmona.txtに出力されます。
大文字小文字区別なしで、monaを検索したい場合、
C:\trip>findstr/i mona hit.txt
とすれば桶です。「/i」は、「大文字小文字区別しないで」というオプションです。
複数のトリプを同時に検索したい場合は、
C:\trip>findstr "mona giko nota" hit.txt
と言うように、""で括り、単語の間にハンカクスペースを入れれば桶。
findstrについても、「findstr/?」と入力してみれば説明が出てきますので、参考にしてみてください。
もうちょっと便利にまとめて抜き出そう
findstrでは正規表現も使えます。
C:\trip>findstr "[Mm]ona MONA [Gg]iko GIKO" hit.txt > monagiko.txt
というように、正規表現を使えば、形の綺麗な mona と giko だけを抜き出すことが出来ます。さらに、
C:\trip>findstr "[Mm]ona MONA [Gg]iko GIKO" hit.txt | sort > monagiko.txt
としてあげれば、monagiko.txtにきれいにソートされて出てきます(・∀・)
注意点
findstrコマンドで検索した結果をテキストに出力しても、それはあくまでそのときの結果を出力しているだけです。オリジナルのhit.txtの中から(上の例で言うと)mona.txtに出力されたトリプが消えるわけではありません。また、
C:\trip>findstr mona hit.txt>mona.txt
とした後に、
C:\trip>findstr giko hit.txt>mona.txt
のように、同じテキストに検索結果を出力してしまうと、完全に上書きされて、mona.txtの中身はgikoトリプだけになります。
あくまでhit.txtの中から検索するツールとして考えてください。
以上、分からない点は閑散とした掲示板か、常駐スレで質問してみてください。ボーヤよりも詳しい人が教えてくれるはず…。間違ってるぞ(#゚Д゚)ゴルァ!!という突っ込みも、同じくオナガイシマス…ただし、優しく…。
長文アンド分かりにくい説明スマソ..._no
(´-`).。o(また説明ヘタクソって言われるかなぁ…。)