Skip site navigation (1)Skip section navigation (2)
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>