Archiv verlassen und diese Seite im Standarddesign anzeigen : cal + Aktuelles Datum
Hallo,
Ich moechte mit cal den aktuellen Tag (farbig) markieren.
Gibt es da eine gute Moeglichkeit das zu realisieren?
d=`date +%d`
x=`echo -e "\e[41;93m$d\e[0m"`
Ich habe versucht, die Sequenz in ein perl Einzeiler einzubauen,
cal|perl -n -e 'print $x if /$d/' , hat jemand eine
bessere Idee?
cal -m|sed "s/\($d\)/\x1b[41;93m\1\x1b[0m/"
baumgartner
16-05-2006, 13:04
verdammt ist das kniffelig!
werd ich mir mal am Abend anschauen ....
Hiermit verrutscht dir auf jeden Fall das Format, das müsstest du noch ausbügeln
cal|perl -e '$date = `date` ; @a=split " ",$date; print "tag: $a[2]\n"; while (<>){ @b=split; foreach (@b) {if ($_ eq $a[2]){print "color: $_ /color" ;} else {print "$_ "} } print "\n"; } '
Martin
Hallo,
Vielen Dank,
bei mir gings so unter Linux und FreeBSD.
export esc="`echo -e "\e[41;93m$d\e[0m"`"
cal |sed -e "s/\($d\)/$esc/"
Auf BSD wollte -m wohl nicht.
% cal -m|sed -e "s/\($d\)/$esc/"
cal: option requires an argument -- m
usage: cal [-jy] [[month] year]
cal [-j] [-m month] [year]
ncal [-Jjpwy] [-s country_code] [[month] year]
ncal [-Jeo] [year]
edit: Danke an alle anderen.
GNU cals option -m sorgt dafür, dass die Woche Montags beginnt und nicht Sonntags
baumgartner
17-05-2006, 10:07
scheint so als müsst ich mich auch mal mit dem Stream editor auseinander setzten. Das hier sieht auf jeden Fall sehr nett aus!
hier nochmal der Versuch auch bei einstelligen Vorkommen (1 vs 01) keine Probleme zu haben:
#!/usr/bin/env bash
# June 2006
#Su Mo Tu We Th Fr Sa
# 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
d=`date +%e`; # print x instead of 0x
M="`cal|egrep [0-9][0-9][0-9][0-9]`"
esc="`echo -e "\e[41;93m$d\e[0m"`"
echo $M
if [ `echo $d` -le 9 ] ; then
# echo one char;
cal|head -n 4|grep -v "$M"|sed "s/\($d\)/$esc/" && cal| tail -n 3
else
#echo two char;
cal|grep -v "$M"|sed "s/\($d\)/$esc/"
fi
exit
@joghurt: Viel Spass beim Basteln eines Einzeilers. Da drin wuerde doch bestimmt
0? vorkommen, oder? :p ;)
@joghurt: Viel Spass beim Basteln eines Einzeilers. Da drin wuerde doch bestimmt
0? vorkommen, oder? :p ;)Nein :p
cal |sed -r "s/( |^)($d)( |$)/\1\x1b[41;93m\2\x1b[0m\3/"
Mehlwurm
08-06-2006, 13:18
aber das siebtletzte zeichen war eine "0" ;-)
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.