특정 시간 범위의 로그에서 정보를 추출하기 위해 쉘 스크립트를 사용하고 싶습니다. 로그의 한 줄은 다음과 같습니다.
[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]"