How to grep

I am coding a script to grep information in /var/adm/messages which I need to grep the lastest infomation when the script is ran. For example, in /var/adm/messages contains information like this

May 23 17:28:55 stmtrmdbp2 login: [ID 254462 auth.notice] ROOT LOGIN /dev/pts/1 FROM 172.17.128.17
May 23 17:30:30 stmtrmdbp2 login: [ID 254462 auth.notice] ROOT LOGIN /dev/pts/2 FROM 172.17.128.17
May 24 08:42:49 stmtrmdbp2 login: [ID 254462 auth.notice] ROOT LOGIN /dev/pts/1 FROM 172.17.128.25
May 24 08:44:31 stmtrmdbp2 last message repeated 1 time
May 24 09:51:43 stmtrmdbp2 login: [ID 254462 auth.notice] ROOT LOGIN /dev/pts/1 FROM 172.17.128.17
May 24 10:35:13 stmtrmdbp2 login: [ID 254462 auth.notice] ROOT LOGIN /dev/pts/1 FROM 172.17.128.17
May 24 10:40:09 stmtrmdbp2 login: [ID 254462 auth.notice] ROOT LOGIN /dev/pts/2 FROM 172.17.128.17
May 24 10:45:09 stmtrmdbp2 login: [ID 254462 auth.notice] ROOT LOGIN /dev/pts/2 FROM 172.17.128.17

When the script run at May 24 10:46:00, Could it prints info at the last 10 minutes before the script run?
Result should be

May 24 10:40:09 stmtrmdbp2 login: [ID 254462 auth.notice] ROOT LOGIN /dev/pts/2 FROM 172.17.128.17
May 24 10:45:09 stmtrmdbp2 login: [ID 254462 auth.notice] ROOT LOGIN /dev/pts/2 FROM 172.17.128.17

Thank u in Advance

hr=$( date +%H )
min=$( date +%M )
temp=$(( hr * 60 + min -10 ))
nhr=$(( temp / 60 ))
nmin=$(( temp - nhr * 60 ))
awk -F"[ :]" ' $3 >= "'$nhr'" && $4 >= "'$nmin'" ' filename
awk 'BEGIN{ 
             tenmin=10*60 
             now=systime()
             date["May"]=5;date["Jan"]=1 #and so on
             "date +%Y" | getline year            
}
{
 n=split($3,t,":") 
 logtime = year" "date[$1]" "$2" "t[1]" "t[2]" "t[3]" 0 0 0"
 a = mktime(logtime)
 if ( (now - a) < tenmin ) { print} 
}' "file"

Thank you for your reply but it's not work both

For anbu23 ; I tried to test awk -F"[ :]" ' $3 >= "'$nhr'" && $4 >= "'$nmin'" ' filename by fix value such as awk -F"[ :]" ' $3 >= "10" && $4 >= "46" ' /var/adm/messages but nothing display

For ghostdog74 ; when i run the script that u gave so i found the error
awk: syntax error near line 3
awk: illegal statement near line 3
awk: syntax error near line 5
awk: illegal statement near line 5

Thank for all ur help

$ cat file
May 23 17:28:55 stmtrmdbp2 login: [ID 254462 auth.notice] ROOT LOGIN /dev/pts/1 FROM 172.17.128.17
May 23 17:30:30 stmtrmdbp2 login: [ID 254462 auth.notice] ROOT LOGIN /dev/pts/2 FROM 172.17.128.17
May 24 08:42:49 stmtrmdbp2 login: [ID 254462 auth.notice] ROOT LOGIN /dev/pts/1 FROM 172.17.128.25
May 24 08:44:31 stmtrmdbp2 last message repeated 1 time
May 24 09:51:43 stmtrmdbp2 login: [ID 254462 auth.notice] ROOT LOGIN /dev/pts/1 FROM 172.17.128.17
May 24 10:35:13 stmtrmdbp2 login: [ID 254462 auth.notice] ROOT LOGIN /dev/pts/1 FROM 172.17.128.17
May 24 10:40:09 stmtrmdbp2 login: [ID 254462 auth.notice] ROOT LOGIN /dev/pts/2 FROM 172.17.128.17
May 24 10:45:09 stmtrmdbp2 login: [ID 254462 auth.notice] ROOT LOGIN /dev/pts/2 FROM 172.17.128.17
$ awk -F"[ :]" ' $3 >= "10" && $4 >= "40" ' file
May 24 10:40:09 stmtrmdbp2 login: [ID 254462 auth.notice] ROOT LOGIN /dev/pts/2 FROM 172.17.128.17
May 24 10:45:09 stmtrmdbp2 login: [ID 254462 auth.notice] ROOT LOGIN /dev/pts/2 FROM 172.17.128.17

Make sue you have entries in your file after time 10:46.

Dear anbu23,

 When the file has entires liks this 

May 24 17:15:12 stmtrmdbp1 su: [ID 366847 auth.info] 'su uusts00' succeeded for root on /dev/???
May 24 17:24:45 stmtrmdbp1 su: [ID 366847 auth.info] 'su oracle' succeeded for root on /dev/???
May 24 17:44:48 stmtrmdbp1 last message repeated 4 times
May 24 18:01:11 stmtrmdbp1 su: [ID 366847 auth.info] 'su xmuser' succeeded for root on /dev/???
May 24 18:11:13 stmtrmdbp1 su: [ID 366847 auth.info] 'su uusts00' succeeded for root on /dev/???
May 24 18:12:45 stmtrmdbp1 su: [ID 366847 auth.info] 'su oracle' succeeded for root on /dev/???
May 24 18:13:47 stmtrmdbp1 last message repeated 1 time
May 24 18:14:11 stmtrmdbp1 su: [ID 366847 auth.info] 'su xmuser' succeeded for root on /dev/???
May 24 18:41:13 stmtrmdbp1 su: [ID 366847 auth.info] 'su uusts00' succeeded for root on /dev/???
May 24 18:42:46 stmtrmdbp1 su: [ID 366847 auth.info] 'su oracle' succeeded for root on /dev/???
May 24 18:46:48 stmtrmdbp1 last message repeated 1 time
May 24 18:47:10 stmtrmdbp1 su: [ID 366847 auth.info] 'su xmuser' succeeded for root on /dev/???
May 24 18:47:12 stmtrmdbp1 su: [ID 366847 auth.info] 'su uusts00' succeeded for root on /dev/???
May 24 18:47:46 stmtrmdbp1 su: [ID 366847 auth.info] 'su oracle' succeeded for root on /dev/???
May 24 18:47:48 stmtrmdbp1 last message repeated 1 time
May 24 18:48:11 stmtrmdbp1 su: [ID 366847 auth.info] 'su xmuser' succeeded for root on /dev/???
May 24 18:48:13 stmtrmdbp1 su: [ID 366847 auth.info] 'su uusts00' succeeded for root on /dev/???
May 24 18:48:44 stmtrmdbp1 su: [ID 366847 auth.info] 'su oracle' succeeded for root on /dev/???

So I tried to awk -F" :" ' $3 >= "18" && $4 >= "40" ' file then the result will show all the 18th hour . how to solve it