Jednoduchy skriptik II
Miroslav BENES
mbenes na tenez.cz
Středa Duben 26 14:21:01 CEST 2000
> > SECFROM1970=`head -c9 $TENLOGSOUBOR`
> Zkuste:
>
> NOVYNAZEV=`convdate -c $SECFROM1970 | awk '{print $5$2$3}'`
Skoro dokonale. Jenom na datum s jednocifernym dnem v mesici vrati
convdate napr. ' 3' coz se ztrati a awk to zpracuje jako '3'. Co s
tim ?
Zkusil jsem to upravit, ale doufam, ze se mi nebudete smat :
#!/bin/sh
SECFROM1970=`head -c9 $1`
FULLDATE=`convdate -c $SECFROM1970`
ROK=`echo $FULLDATE | awk '{print $5}'`
MESIC=`echo $FULLDATE | sed 's/Jan/01/' | sed 's/Feb/02/' | sed
's/Mar/03/' | sed 's/Apr/04/' | sed 's/May/05/' | sed 's
DEN=`echo $FULLDATE | sed 's/ 1 / 01 /' | sed 's/ 2 / 02 /' | sed
's/ 3 / 03 /' | sed 's/ 4 / 04 /' | sed 's/ 5 / 05 /'
HODINA=`echo $FULLDATE | sed 's/://g' | awk '{print $4}'`
NOVYNAZEV=$ROK'-'$MESIC'-'$DEN'_'$HODINA'.log'
mv $1 $NOVYNAZEV
Mam k tomu jeste dva dotazy :
1) slo by to nejak zoptimalizovat ?
2) jak to upravit, aby se po zadani test acces.* zpracovaly vsechny
nalezene soubory ?
Zkousel jsem neco jako :
while [ -f $1 ] do
{
.. prikazy ..
}
done
coz by melo byt podle manualove stranky bash-e, ale nepochodil jsem.
Jak by to melo byt ?
Dekuji za (snad posledni) nakopnuti.
--------------------------
Miroslav BENES
E-mail : mbenes na tenez.cz
TENEZ Chotebor, a.s
--------------------------
Další informace o konferenci Linux