- ベストアンサー
バッチ作成に苦戦中!ログファイルから特定条件に合致する行を抽出する方法は?
- バッチ作成に苦戦している方へのヒント!ログファイルから特定条件に合致する行を抽出する方法をご紹介します。
- バッチ作成のお悩みを解決!ログファイルからの特定条件抽出について、効果的な方法をご紹介します。
- バッチ作成のお助けプラン!ログファイルから条件に合致する行を抽出する方法をご紹介します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
Windowsだと、findstr で。 findstr /r "送信元=192.168.111.222.*prot=TCP" ログファイル名 > 一致ファイル findstr /v /r "送信元=192.168.111.222.*prot=TCP" ログファイル名 > 不一致ファイル Linuxだと、grep で。 grep "送信元=192.168.111.222.*prot=TCP" ログファイル名 > 一致ファイル grep -v "送信元=192.168.111.222.*prot=TCP" ログファイル名 > 不一致ファイル
その他の回答 (3)
- mpascal
- ベストアンサー率21% (1136/5195)
条件がどの程度まで複雑なものが処理できるか分かりませんが、テキストの処理は、私はgawk(jgawk) を使ってました。(だいぶ昔の話ですが) http://www.vector.co.jp/soft/win95/util/se376460.html
お礼
mpascalさん お返事が遅れまして申し訳ありません。 回答をありがとうございます。 バッチ処理が複雑になりましたので、 最終的にエクセルマクロで済みました。
- Ogre7077
- ベストアンサー率65% (170/258)
UNIX系 なら sh+perl で、 Windows なら WSH+js または PowerShell で、 以下の内容を記述したスクリプトファイルを実行します。 1. ログファイルを開く 2. 以下の処理を行単位で繰り返し 2.1. 行の文字列に対して正規表現のパターンマッチングを行う 2.2. パターンマッチした結果の後方参照が特定条件と一致するか確認 2.3. 一致するなら、ファイルAに行を出力 2.4. 一致しなければ、ファイルBに行を出力 3. ログファイルを閉じる 正規表現の内容ですが /送信元=(\S+)\b.+\bprot=(\S+)/ が適当かと
お礼
Ogre7077さん お返事が遅れまして申し訳ありません。 回答をありがとうございます。 あくまでバッチということでしたが、 最終的にはエクセルマクロで済みました。
- mekuriya
- ベストアンサー率27% (1118/4052)
WSH+VBS
お礼
mekuriyaさん お返事が遅れまして申し訳ありません。 回答をありがとうございます。 バッチ処理が複雑になりすぎましたので、 最終的にエクセルマクロで済みました。
お礼
notnotさん お返事が遅れまして申し訳ありません。 回答をありがとうございます。 バッチファイル処理ですと複雑になりましたので、 最終的にはエクセルマクロでなんとか済みました。