シェルスクリプトを使用して日付を含む特定のタイムスタンプ間のログを取得する

シェルスクリプトを使用して日付を含む特定のタイムスタンプ間のログを取得する

特定の時間範囲のログから情報を抽出するためにシェルスクリプトを使用したいと思います。ログの1行は次のとおりです。

[15:01:27:176][15-10-2015]: testing1-vidya-Thu Oct 15 11:49:27 IST 2015 [15:02:27:178][15-10-2015]: testing2-vidya-Thu Oct 15 11:49:27 IST 2015 [15:10:27:179][15-10-2015]: testing3-vidya-Thu Oct 15 11:49:27 IST 2015 [15:01:27:180][16-10-2015]: testing4-vidya-Thu Oct 15 11:49:27 IST 2015 [15:20:27:181][16-10-2015]: testing5-vidya-Thu Oct 15 11:49:27 IST 2015 [15:02:27:182][16-10-2015]: testing6-vidya-Thu Oct 15 11:49:27 IST 2015 [15:03:27:183][17-10-2015]: testing7-vidya-Thu Oct 15 11:49:27 IST 2015 [15:04:27:184][17-10-2015]: testing8-vidya-Thu Oct 15 11:49:27 IST 2015 [15:05:27:191][17-10-2015]: testing9-vidya-Thu Oct 15 11:49:27 IST 2015 [15:18:27:192][17-10-2015]: testing10-vidya-Thu Oct 15 11:49:27 IST 2015 [15:29:27:193][17-10-2015]: testing11-vidya-Thu Oct 15 11:49:27 IST 2015 [15:03:27:208][18-10-2015]: testing12-vidya-Thu Oct 15 11:49:27 IST 2015 [15:04:27:209][18-10-2015]: testing13-vidya-Thu Oct 15 11:49:27 IST 2015 [15:07:27:210][18-10-2015]: testing14-vidya-Thu Oct 15 11:49:27 IST 2015

特定の時間間隔でデータを抽出する必要があります。たとえば、[2015年10月17日] 15:01から15:08の間

[15:03:27:183][2015年10月17日]: テスト7-vidya-木 10月15日 11:49:27 IST 2015 [15:04:27:184][2015年10月17仕事日]: test8- vidya-木 10月15日 11:49:27 IST 2015 [15:05:27:191][17-10-2015]: test9-vidya-木 10月15日 11:49: 27 IST 2015

私は次のコードを使用しました。

grep -E "^[(15:0[1-8])" | grep '[17-10' filename 

私はこれを試しました。 15:18、15:29を含む2015年10月17日のすべてのデータをインポートしています。 15:01~15:08のデータのみが必要です。これは正しいですか?質問がありますか?

ベストアンサー1

これは私にとって効果的です。

grep "\[17-10" filename | grep  "15:0[1-8]"

おすすめ記事