• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:バッチ作成について)

バッチ作成に苦戦中!ログファイルから特定条件に合致する行を抽出する方法は?

このQ&Aのポイント
  • バッチ作成に苦戦している方へのヒント!ログファイルから特定条件に合致する行を抽出する方法をご紹介します。
  • バッチ作成のお悩みを解決!ログファイルからの特定条件抽出について、効果的な方法をご紹介します。
  • バッチ作成のお助けプラン!ログファイルから条件に合致する行を抽出する方法をご紹介します。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4901/10362)
回答No.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" ログファイル名 > 不一致ファイル

decsss
質問者

お礼

notnotさん お返事が遅れまして申し訳ありません。 回答をありがとうございます。 バッチファイル処理ですと複雑になりましたので、 最終的にはエクセルマクロでなんとか済みました。

その他の回答 (3)

  • mpascal
  • ベストアンサー率21% (1136/5195)
回答No.3

条件がどの程度まで複雑なものが処理できるか分かりませんが、テキストの処理は、私はgawk(jgawk) を使ってました。(だいぶ昔の話ですが) http://www.vector.co.jp/soft/win95/util/se376460.html

decsss
質問者

お礼

mpascalさん お返事が遅れまして申し訳ありません。 回答をありがとうございます。 バッチ処理が複雑になりましたので、 最終的にエクセルマクロで済みました。

  • Ogre7077
  • ベストアンサー率65% (170/258)
回答No.2

UNIX系 なら sh+perl で、 Windows なら WSH+js または PowerShell で、 以下の内容を記述したスクリプトファイルを実行します。 1. ログファイルを開く 2. 以下の処理を行単位で繰り返し  2.1. 行の文字列に対して正規表現のパターンマッチングを行う  2.2. パターンマッチした結果の後方参照が特定条件と一致するか確認  2.3. 一致するなら、ファイルAに行を出力  2.4. 一致しなければ、ファイルBに行を出力 3. ログファイルを閉じる 正規表現の内容ですが /送信元=(\S+)\b.+\bprot=(\S+)/ が適当かと

decsss
質問者

お礼

Ogre7077さん お返事が遅れまして申し訳ありません。 回答をありがとうございます。 あくまでバッチということでしたが、 最終的にはエクセルマクロで済みました。

  • mekuriya
  • ベストアンサー率27% (1118/4052)
回答No.1

WSH+VBS

decsss
質問者

お礼

mekuriyaさん お返事が遅れまして申し訳ありません。 回答をありがとうございます。 バッチ処理が複雑になりすぎましたので、 最終的にエクセルマクロで済みました。

関連するQ&A