• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:正規表現で15日以前のlogをgrep -vしたい(シェルはbash))

正規表現を使用して15日以前のlogをgrep -vしたい

このQ&Aのポイント
  • 通信機器が吐き出すlogファイルから、不要な日付を除外してチェックしたいです。
  • 具体的には、Jul 29 22:20:28のような形式で記録されている日付を1日から15日までの範囲でgrep -vしたいです。
  • 一度目のgrep -vではうまく除外できましたが、二度目のgrep -vでは予想外の結果になりました。何故なのかわかりません。解決策を教えてください。

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

  • ベストアンサー
  • A88No8
  • ベストアンサー率52% (836/1606)
回答No.1

こんにちは  私には、質問者さんの「\」の使い方がイマイチ理解できません。  下記のような方法はダメですか? grep -v "Jul[ ][1-9][ ]" hoge.log | grep -v "Jul[ ][0-1][0-5][ ]" > [logfile2]

その他の回答 (2)

  • notnot
  • ベストアンサー率47% (4900/10359)
回答No.3

おかしいですね。 おそらく、実行したコマンドと、質問に書いてあるコマンドが違うんでしょう。 コピーペーストしましたか?

taikimuru
質問者

お礼

以下のように実行したらうまくいきました。 grep -v "^Jul[ ][ ][0-9]" tmp.log | grep -v "^Jul[ ][0-1][0-5]" > logfile 原因はおそらく実行したコマンドにあやまりがあったのだと思います。 コメントありがとうございます。

  • A88No8
  • ベストアンサー率52% (836/1606)
回答No.2

こんにちは #1です。 質問者さんが何をしたいのか、よく判っていないですf(^^;

taikimuru
質問者

お礼

\を使用したのは半角スペースをパターンマッチさせるつもりでしたが、 [ ]で対応することできたんですね。 単純に知らなかったです。 で、以下のように実行したらうまくいきました。 grep -v "^Jul[ ][ ][0-9]" hoge.log | grep -v "^Jul[ ][0-1][0-5]" > logfile アドバイスありがとうございました!

関連するQ&A