쉘 스크립트를 사용하여 날짜가 포함된 특정 타임스탬프 사이의 로그 가져오기

쉘 스크립트를 사용하여 날짜가 포함된 특정 타임스탬프 사이의 로그 가져오기

특정 시간 범위의 로그에서 정보를 추출하기 위해 쉘 스크립트를 사용하고 싶습니다. 로그의 한 줄은 다음과 같습니다.

[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]"

관련 정보