Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 11 Aug 2006 20:52:58 -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:  <44DD509A.1080307@errno.com>
In-Reply-To: <44DD48C8.7000805@errno.com>
References:  <44DD4510.5070002@elischer.org> <44DD48C8.7000805@errno.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?44DD509A.1080307>