Date: Fri, 11 Aug 2006 21:04:10 -0700 From: Sam Leffler <sam@errno.com> To: Julian Elischer <julian@elischer.org> Cc: current@freebsd.org Subject: Re: suggested addition to 'date' Message-ID: <44DD533A.2090703@errno.com> In-Reply-To: <44DD520F.4040403@elischer.org> References: <44DD4510.5070002@elischer.org> <44DD48C8.7000805@errno.com> <44DD509A.1080307@errno.com> <44DD520F.4040403@elischer.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Julian Elischer wrote: > Sam Leffler wrote: > >> Sam Leffler wrote: >> >> >>> Julian Elischer wrote: >>> >>>> At various times I've wanted to add timestamps to logfiles as they are >>>> generated.. >>>> >>>> usually this has involved perl or something to do it. >>>> >>>> finally I broke down and just added a small bit to date(1) >>>> >>>> the -s option tells date to add a timestamp on the front of every line >>>> read in through stdin >>>> and put it out through stdout. teh format of the datestamp is >>>> governed >>>> exactly as usual so: >>>> >>>> %ls | ./date -s +"%+: " >>>> Fri Aug 11 19:53:34 PDT 2006: CVS >>>> Fri Aug 11 19:53:34 PDT 2006: Makefile >>>> Fri Aug 11 19:53:34 PDT 2006: date >>>> Fri Aug 11 19:53:34 PDT 2006: date.1 >>>> Fri Aug 11 19:53:34 PDT 2006: date.1.gz >>>> Fri Aug 11 19:53:34 PDT 2006: date.c >>>> Fri Aug 11 19:53:34 PDT 2006: date.o >>>> Fri Aug 11 19:53:34 PDT 2006: extern.h >>>> Fri Aug 11 19:53:34 PDT 2006: netdate.c >>>> Fri Aug 11 19:53:34 PDT 2006: netdate.o >>>> Fri Aug 11 19:53:34 PDT 2006: vary.c >>>> Fri Aug 11 19:53:34 PDT 2006: vary.h >>>> Fri Aug 11 19:53:34 PDT 2006: vary.o >>>> %ls | ./date -s +"%s: " >>>> 1155351474: CVS >>>> 1155351474: Makefile >>>> 1155351474: date >>>> 1155351474: date.1 >>>> 1155351474: date.1.gz >>>> 1155351474: date.c >>>> 1155351474: date.o >>>> 1155351474: extern.h >>>> 1155351474: netdate.c >>>> 1155351474: netdate.o >>>> 1155351474: vary.c >>>> 1155351474: vary.h >>>> 1155351474: vary.o >>>> % >>>> I attach the diff. >>>> I'm sure that someone who is a more competent practicioner of >>>> userland C >>>> programming >>>> can probably clean this up abit. >>>> >>>> do people think this is a worthwhile addition? >>>> >>>> An easy to imagine use for this is to add it in the makefile for >>>> /usr so >>>> that "make buildworld" datestamped its output >>>> (for example). >>>> >>>> it makes it easy to timestamp output from a console logger for example: >>>> >>> pbj% ls | sed -e "s/^/`date +'%+: '`/" >>> Fri Aug 11 20:18:05 PDT 2006: Desktop >>> Fri Aug 11 20:18:05 PDT 2006: Desktop DB >>> Fri Aug 11 20:18:05 PDT 2006: Desktop DF >>> Fri Aug 11 20:18:05 PDT 2006: Documents >>> Fri Aug 11 20:18:05 PDT 2006: Library >>> Fri Aug 11 20:18:05 PDT 2006: Movies >>> ... >>> >> >> I figure you won't like that 'cuz it pastes the same date stamp on every >> line so here's another offering: >> >> pbj% ls | awk '{ "date +'%+'" | getline x; print x ": " $0; }' >> Fri Aug 11 20:50:42 PDT 2006: Desktop >> Fri Aug 11 20:50:42 PDT 2006: Desktop DB >> Fri Aug 11 20:50:42 PDT 2006: Desktop DF >> Fri Aug 11 20:50:42 PDT 2006: Documents >> Fri Aug 11 20:50:42 PDT 2006: Library >> Fri Aug 11 20:50:42 PDT 2006: Movies >> >> > It still does a fork followed by an exec of shell followed by an exec of > date once for every line. > Do you think it is a BAD thng to add or are you just pointing out that > it is possinle to do it in other ways? > > I think you should use perl or one of the myriad of other options and not bloat basic system utilities. Sam
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?44DD533A.2090703>