ログファイルから一連の時間間隔間のデータを取得しようとしています。ただし、終了日の完全なデータは取得されません。
使用されるコマンドは次のとおりです。
sed -n '/26/Nov/2018/,/30/Nov/2018/ p' /path/file.log
上記のログファイルから取得したデータは次のとおりです。
192.168.0.123 - - [25/Nov/2018:13:24:59 +0530] "Data 1"
192.168.0.123 - - [26/Nov/2018:13:24:59 +0530] "Data 2"
192.168.0.123 - - [26/Nov/2018:13:25:09 +0530] "Data 3"
192.168.0.123 - - [27/Nov/2018:13:25:09 +0530] "Data 4"
192.168.0.123 - - [27/Nov/2018:13:25:11 +0530] "Data 5"
192.168.0.123 - - [27/Nov/2018:13:25:53 +0530] "Data 6"
192.168.0.123 - - [28/Nov/2018:13:25:53 +0530] "Data 7"
192.168.0.123 - - [29/Nov/2018:13:25:53 +0530] "Data 8"
192.168.0.123 - - [30/Nov/2018:13:25:53 +0530] "Data 9"
192.168.0.123 - - [30/Nov/2018:13:25:53 +0530] "Data 10"
192.168.0.123 - - [01/Dec/2018:13:25:53 +0530] "Data 11"
192.168.0.123 - - [01/Dec/2018:13:25:53 +0530] "Data 12"
答え1
/
これは、sed matchコマンドの区切り文字と一致する文字列の一部をすべて使用しているためです。中から脱出する必要があります/
。この試み:
$ sed -n '/26\/Nov\/2018/,/30\/Nov\/2018/ p' file.log
192.168.0.123 - - [26/Nov/2018:13:24:59 +0530] "Data 2"
192.168.0.123 - - [26/Nov/2018:13:25:09 +0530] "Data 3"
192.168.0.123 - - [27/Nov/2018:13:25:09 +0530] "Data 4"
192.168.0.123 - - [27/Nov/2018:13:25:11 +0530] "Data 5"
192.168.0.123 - - [27/Nov/2018:13:25:53 +0530] "Data 6"
192.168.0.123 - - [28/Nov/2018:13:25:53 +0530] "Data 7"
192.168.0.123 - - [29/Nov/2018:13:25:53 +0530] "Data 8"
192.168.0.123 - - [30/Nov/2018:13:25:53 +0530] "Data 9"