Filtering the yesterdays date from log files via script.

hi All,

I have this sample text file - access.log:

Jan 18 21:34:29 root 209.151.232.70
Jan 18 21:34:40 root 209.151.232.70
Jan 18 21:34:43 root 209.151.232.70
Jan 18 21:34:56 root 209.151.232.70
Jan 18 21:35:10 root 209.151.232.70
Jan 18 21:35:23 root 209.151.232.70
Jan 18 21:36:04 root 209.151.232.70
Jan 18 21:36:57 root 209.151.232.70
Jan 18 21:37:07 root 209.151.232.70
Jan 19 03:57:54 root 61.76.46.135
Jan 19 03:57:57 root 61.76.46.135
Jan 19 03:58:00 root 61.76.46.135
Jan 19 03:58:05 root 61.76.46.135
Jan 19 03:58:08 root 61.76.46.135
Jan 19 03:58:11 joy 61.71.46.13
Jan 19 04:15:16 joy 61.71.46.13
Jan 19 04:15:19 joy 61.71.46.13
Jan 20 04:46:58 vcp 213.248.55.159
Jan 20 04:47:27 vcp 213.248.55.159
Jan 20 04:47:43 vcp 213.248.55.159
Jan 20 04:47:57 vcp 213.248.55.159
Jan 20 04:48:27 vcp 213.248.55.159
Jan 20 04:48:57 vcp 213.248.55.159
Jan 20 04:49:27 vcp 213.248.55.159
Jan 20 04:49:56 vcp 213.248.55.159

can you give me the script to filter the records only for yesterdays date ?

Appreciate much your help.

What's the result of ?

date -d '1 day ago' '+%b %d %T'

If it works, you can grep that with the appropriate format in your file.

grep $(date -d '1 day ago' '+%b %d %T') access.log
$ grep "^$(date -d 'yesterday' '+%b %d')" urfile
Jan 20 04:46:58 vcp 213.248.55.159
Jan 20 04:47:27 vcp 213.248.55.159
Jan 20 04:47:43 vcp 213.248.55.159
Jan 20 04:47:57 vcp 213.248.55.159
Jan 20 04:48:27 vcp 213.248.55.159
Jan 20 04:48:57 vcp 213.248.55.159
Jan 20 04:49:27 vcp 213.248.55.159
Jan 20 04:49:56 vcp 213.248.55.159