Jednoduchy skriptik II
Miroslav BENES
mbenes na tenez.cz
Čtvrtek Duben 27 13:47:21 CEST 2000
> Jo a blbe to bude dokud tam nedate do !!! Dyk jsem vam to sem napsal !
Omlouvam se. Prisly dva prispevky se skoro stejnou verzi a ja pouzil
tu spatnou. Mel jsem se lip divat.
> Vidite tam to DO !!!! Za testem je strednik pac do musi byt na novem radku a v
> tomto pripade z duvodu prehlednosti ( pro mne ) pouzivam strednik misto noveho
> radku.
Jo. Uz je to jasny.
> Na co mate ten prvni radek s shelem ? To prece zpusobi ze se bash bude chovat jako
> prostinky shell ?
To jsem jenom zkousel, co to udela. A chova se to (nastesti) uplne
stejne.
> Jak vypada ten vstup pro ke konverzi ?
V souboru je napr. 954731195, po konverzi to vypada : "
"Mon Apr 3 05:06:35 2000" a konecna uprava je
2000-04-03-05_06.log
Finalni podoba (parametrem jsou soubory ke zpracovani) :
#!/bin/bash
while [ $# -gt 0 ] ; do
if [ -f $1 ] ; then
SECFROM1970=`head -c1 $1`
case $SECFROM1970 in
"1")
SECFROM1970=`head -c10 $1`
;;
"2" | "3" | "4" | "5" | "6" | "7" | "8" | "9")
SECFROM1970=`head -c9 $1`
;;
*)
SECFROM1970="X"
;;
esac
if [ $SECFROM1970 != "X" ] ; then
FULLDATE=`convdate -c $SECFROM1970`
ROK=`echo $FULLDATE | awk '{print $5}'`
MESIC=`echo $FULLDATE | awk '{print $2}'`
DEN=`echo $FULLDATE | awk '{printf("%02d",$3)}'`
case $MESIC in
Jan)
MESIC="01"
;;
Feb)
MESIC="02"
;;
....
*)
MESIC="00"
;;
esac
HODINA=`echo $FULLDATE | sed 's/:/ /g' | awk
'{printf("%02d_%02d", $4,$5)}'`
NOVYNAZEV=$ROK'-'$MESIC'-'$DEN'-'$HODINA'.log'
mv $1 $NOVYNAZEV
fi
fi
shift
done
Ted uz se v tom aspon trochu orientuju. Diky !
--------------------------
Miroslav BENES
E-mail : mbenes na tenez.cz
TENEZ Chotebor, a.s
--------------------------
Další informace o konferenci Linux