月に基づいて複数のファイルの文字列をgrepする方法

月に基づいて複数のファイルの文字列をgrepする方法

複数のログファイルセットがあり、2015年7月から10月の間にこれらの複数のログファイルから特定の文字列を検索したいと思います。毎月複数のログファイルがあります。たとえば、次のようになります。

test.log.2015-07-01.1
test.log.2015-07-01.2
test.log.2015-07-01.3
test.log.2015-10-31.4
test.log.2015-12-01.5
test.log.2016-02-28.6 

など...

これで、2015年7月から2015年10月までの使用ログのみを探しています。現在、次のgrepコマンドを使用しています。

grep -E 'importcoursecustomization|importnoncoursecustomization' test1.log.2015-07-01

これを使用して、2015年7月から2015年10月までの期間にのみ使用ログから複数の文字列を検索するにはどうすればよいですか?

ベストアンサー1

grep -E 'importcoursecustomization|importnoncoursecustomization' test1.log.2015-[0,1][7,0]-[0-9][0-9].*

ここで最初と2番目は[01][09]9月と10月の月の選択のためのものであり(また、一致する0019幸運にも有効な月番号ではない)、最後の2つは日付の選択のためのものです。

おすすめ記事