and now for conky & gremlins

Walt Pawley walt at wump.org
Sun Nov 8 20:05:43 UTC 2009


At 10:41 AM -0400 11/5/09, PJ wrote:
>Ruben de Groot wrote:
>> On Thu, Nov 05, 2009 at 09:26:15AM -0400, PJ typed:
>>
>>> Polytropon wrote:
>>>
>>>> On Wed, 04 Nov 2009 18:25:58 -0400, PJ <af.gourmet at videotron.ca> wrote:
>>>>
>>>>
>>>>> output should be: 1  2  3 [4] 5 6 7 etc.
>>>>> is:    1 2 3 4 5 6....
>>>>>
>>>>> the calendar.sh is exactly:
>>>>> #!/bin/sh
>>>>> cal | awk 'NR>1' | sed -e 's/   /    /g' -e 's/[^ ] /& /g' -e 's/..*/
>>>>> &/' -e "s/\ `date +%d`/\[`date +%d`\]/"
>>>>>
>>>>>
>>>> It's quite obviously. Let's try the last substitution
>>>> argument in plain shell:
>>>>
>>>> 	% date +%d
>>>> 	05
>>>>
>>>> But the command creates this:
>>>>
>>>> 	 Su  Mo  Tu  We  Th  Fr  Sa
>>>> 	  1   2   3   4   5   6   7
>>>>
>>>> The leading zero is missing, so there's no substition that
>>>> changes "5" into "[5]", because the search pattern is "05".
>>>>
>>>>
>>> Ok, I see... I'm not too good in programming. I guess I didn't notice
>>> the previous to the first days of November the date was always 2
>>> digits.. how do I get rid of the zero? Regex substitution or something
>>> like that?
>>>
>>
>> date "+%e" should do it.
>>
>Sure did....  For the moment, I changed the [ ] to just plain >
>maybe that will avoid the disjointed row.

Not quite what you're looking for but ...

 cal | perl -pe 's/^/ /;s/$/ /;s/ '"$(date "+%e")"' /\['"$(date "+%e")"']/'

... generated ...

    November 2009
  S  M Tu  W Th  F  S
  1  2  3  4  5  6  7
[ 8] 9 10 11 12 13 14
 15 16 17 18 19 20 21
 22 23 24 25 26 27 28
 29 30

-- 

Walter M. Pawley <walt at wump.org>
Wump Research & Company
676 River Bend Road, Roseburg, OR 97471
         541-672-8975


More information about the freebsd-questions mailing list