Re: [semi-OT] crontab -> csv
On Fri, Mar 01, 2002 at 08:30:34PM +0100, Heiko Schlittermann wrote:
> On Thu, Feb 28, 2002 at 10:45:02PM +0100, Stefan Klein wrote:
Hi Stefan,
> > ich bin auf der Suche nach einem (Perl-)script welches mir aus einem
> > Crontabeintrag z.B.:
> >
> > 2,4 0,15 * * * root /bin/hier
> >
> >
> > 2;0;*;*;*;root;/bin/hier
> > 2;15;*;*;*;root;/bin/hier
> > 4;0;*;*;*;root;/bin/hier
> > 4;15;*;*;*;root;/bin/hier
>
> perl -ne 'print join ";", split " ", $_, 7'
ich glaube Heiko hat nicht genau hingeschaut und trifft nicht,
was Du willst. Nach meinem Verständnis willst Du eine Art
Multiplikation an den Kommas. Ich habe einen Script angehängt,
der bis auf Vertauschung von Zeilen, genau das ausgibt, was
Dein Beispiel vorgibt. Ist aber höllische Gehirnakrobatik und
ich weiß nicht, wie sicher er mit Deinen Crontabs zurechtkommt.
Ich hätte aber Spaß dran, den Script mit Dir/Euch zu zerlegen und
zu verbessern,
Wolfgang
#!/bin/bash
_fill_ncube() {
while read __ret; do
[ -n "$__ret" ] || continue
ifs="$IFS"; IFS='!'; set -- $__ret; IFS="$ifs"
__ret="$1"
shift
while [ $# -gt 0 ]; do
_tmp=
for __v in $1; do
for __v1 in $__ret; do
_tmp="$_tmp $__v1$__v"
done
done
shift
__ret="$_tmp"
done
for __v in $__ret; do
echo "$__v"
done
done
}
echo "2,4 0,15 * * * root /bin/hier" |
sed -e 's/[ ][ ]*/!;/g' -e 's/,/ /' -e 's/,/ ;/g' | _fill_ncube
Reply to: