little help in command

this is my script:

TZ=`date +%Z`+24 ;a=`date +%Y-%m-%d`

cd /ednadtu3/u01/pipe/logs
for i in DBMaint.log
do

cat $i | grep $a >> /ednadtu3/u01/pipe/naveed/file12.txt
done
-------------------------------------------------------------------------------------

here i want to grep the 22nd hour of yesterday date, so that my script will grep only 22nd hour of yesterday date .but this script gives me all the hour of yesterday date

Dear ali,

if u dont mind i want to let u know something.
i think u should be more clearly explained about ur problem...and whenever u r facing any problem about scripting plz dont just post it...first do sum traial and error sort of things, searching etc...then it will increase ur knowledge also...still if u not getting the solution then cum up with a proper description of ur problem...
dont get panic with a proble sir...
if possible then plz try to follow my kind request.

Regards,
Pankaj

sorry and lets be friend......... i really didnt meant to offend u

dear...i guess i only suggested few points to u...i really dnt have time to spoile...u r rite that i dint get wat u asked...thats y i told u to be more specific...
now its ur wish...
if u behave like this manner...then i think it will be little bit tough to get hepl,not only from me, from others also...
if i'm not wrong yesterday also sumbody told u same thing rite?
and if i'm not wrong i replied ur problem with solution that was "add date at end of each line"
coz u described properly ur problem...
whatever
its ur wish dude that how u'll behave with others and what u'll do...
i just wana say...
and i think unix forum is not for fighting, its for sharing and gaining knowledge.

good luk for ur future dude

Regards,
Pankaj

look, now thanks for helping me .................

sorry for my copmment ok..........

luk now i have specified my problem clearly . just have a look for my script at the top.........

hope u dnt mind,actually from morning i m trying to solve this script.

now please dnt be angry .............

dear Ali,

i'm not angry at all...
i got the script...
it is working fine.
if u dnt mind can u post a sample file of DBMaint.log
?

Regards,
Pankaj

thanks buddy. really didnt meant to offend you. i mso sorry if i hurt u, here is the sample

2008-01-30 15:06:29,985
2008-01-30 19:06:29,985
2008-01-30 20:06:29,985
2008-01-30 21:06:29,987
2008-01-30 21:06:29,988
2008-01-30 22:06:30,037
2008-01-30 22:06:30,050
2008-01-30 22:06:30,052
2008-01-30 22:06:30,053
2008-01-30 22:06:30,054
2008-01-30 22:06:30,056
2008-01-30 23:06:30,056
2008-01-30 23:56:30,066

----------------------------------------------------------

here i want to grep 22nd hour of yesterday date.......but in my script i m grepping all hour. so i thought that there may be a way in which i can assingn value to the hour in date format

i can use this way also

cat $i | grep "$a" | grep "22:" >> /ednadtu3/u01/pipe/naveed/file12.txt

but thats not the way i want it .........it is not flexible

Sir i told u that dnt be panic... :-)))))))
nyways...ur script is working fine boss...

look, i have tride with ur sample file posted by u...

and my script is

b=`date +"%H"`
TZ=`date +%Z`+24 ;a=`date +%Y-%m-%d`
cat test.txt | grep "2008-01-30" | grep $b >> out.put.txt

output i'm getting

2008-01-30 15:06:29,985

so it is correct.
coz the sysdate is
Thu Jan 31 15:57:36 IST 2008

so ur script is fine. no problem with that...
try with a single file first.
good luk...

Regards,
Panksj,

ok....my system date is Thu Jan 31 04:45:42 CST 2008

and i want to grep 22nd hour in yesterday date i.e 2008-01-30.

so i was thinking, if i add a value in hour variable in date format .

i want a date format in which i can give values for hour or minute or seconds....

hope u got my point

date +%H%M%S

Regards,
Pankaj

yeah,got ur point. but how to assign values ih this format

a=`date +"%H%M%S"`

how to give H=22,here in this format so that i can grep 22nd hour