로그 파일에서 일련의 시간 간격 사이의 데이터를 가져오려고 합니다. 그러나 종료일에 대한 완전한 데이터는 확보되지 않습니다.
사용된 명령은 다음과 같습니다.
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"