suggested addition to 'date'
Oliver Fromme
olli at lurza.secnetix.de
Fri Sep 1 10:07:55 PDT 2006
Julian Elischer wrote:
> Oliver Fromme wrote:
> > John Baldwin wrote:
> > > Oliver Fromme wrote:
> > > > There's another possibility, which doesn't require a new
> > > > option letter at all. You could add a new escape sequence
> > > > to the format string, e.g. "%*". Whenever date(1) is
> > > > called with a format string containing that sequence, it
> > > > goes into filter mode and replaces the sequence with the
> > > > current line. That would also enable you to be more
> > > > flexible with the placement of the timestamps.
> > > > For example:
> > > >
> > > > $ printf 'foo\nbar\nbaz\n' | date +'%H:%M:%S %*'
> > > > 16:39:58 foo
> > > > 16:39:58 bar
> > > > 16:39:58 baz
> > >
> > > I prefer this of all the suggestions so far.
> >
> > It's not very difficult, so I created a patch which does
> > exactly that (includes an addition for the manpage, too).
> > I've submitted it as bin/102609:
> >
> > http://www.freebsd.org/cgi/query-pr.cgi?pr=102609
>
> A couple of comments:
>
> you don't need to run strftime for each line if the time hasn't changed.
> (My original patch checks this)
Good idea. I'll update the patch.
> What is the effective maximum line length for a single fgetln?
It's unlimited. fgetln() allocates sufficient amount of
memory dynamically, that's why I used it instead of fgets().
It avoids reinventing the wheel.
Best regards
Oliver
--
Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing
Dienstleistungen mit Schwerpunkt FreeBSD: http://www.secnetix.de/bsd
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.
"Python is an experiment in how much freedom programmers need.
Too much freedom and nobody can read another's code; too little
and expressiveness is endangered."
-- Guido van Rossum
More information about the freebsd-current
mailing list