Besoin d'aide pour qq lignes de progra Unix
Sylvain
-
Sylvain -
Sylvain -
Voilà je début en progra unix mais je suis amené à faire/modifier des petits programmes unix.
Je modifie un programme qui en fait prend des fichiers .gz, qui sont des logs compressés, il prend les logs de la semaine passée donc (grâce à 2 petits programmes C il récupère les dates etc)
Mon problème est celui-ci : il y a un problème au niveau de la boucle if avec le cut mai je ne vois pas où.. en gros ce que je veux faire dans la boucle c'est prendre les dates pour créé mes dossiers.. Je vous laisse lire le programme vous comprendrez peut être mieux que quand je vous l'explique :
#!/bin/ksh -vx
echo $0 $1 $#
REP_BIN=/home/user/x/x/bin
REP_RACINE=/home/user/x/x
REP_DATA=$REP_RACINE/data
REP_TEMP=$REP_RACINE/temp
REP_SRC=$REP_RACINE/src
NOM_REF=$REP_RACINE/data/messages.
NOM_TEMP=$REP_RACINE/temp/messages.
if [ $# == 0 ]
then
DATE_REF=`$REP_BIN/calcul_date_prec 7`
SEM_REF=`$REP_BIN/calcul_sem_prec 7`
else
DATE_REF=`$REP_BIN/calcul_date_prec $1`
SEM_REF=`$REP_BIN/calcul_sem_prec $1`
fi
JOUR_REF=`cut -f1-7 -d" " $DATE_REF`
typeset -i i=1
while test $i -le 7
do
JOUR_REF=`cut -f$i -d" " $DATE_REF`
gzcat $NOM_REF$JOUR_REF.gz > $NOM_TEMP$JOUR_REF
i=`expr $i+1`
done
typeset -i TOTAL_SEMAINE=0
for j in `ls $NOM_TEMP*`
do
typeset -i TOTAL_JOUR=`grep -c Deny $j`
TOTAL_SEMAINE=`expr $TOTAL_SEMAINE+$TOTAL_JOUR`
done
echo $TOTAL_SEMAINE
rm $NOM_TEMP*
Voilà.
Merci d'avance pour ceuw qui arriverons à trouver une solution.
Je modifie un programme qui en fait prend des fichiers .gz, qui sont des logs compressés, il prend les logs de la semaine passée donc (grâce à 2 petits programmes C il récupère les dates etc)
Mon problème est celui-ci : il y a un problème au niveau de la boucle if avec le cut mai je ne vois pas où.. en gros ce que je veux faire dans la boucle c'est prendre les dates pour créé mes dossiers.. Je vous laisse lire le programme vous comprendrez peut être mieux que quand je vous l'explique :
#!/bin/ksh -vx
echo $0 $1 $#
REP_BIN=/home/user/x/x/bin
REP_RACINE=/home/user/x/x
REP_DATA=$REP_RACINE/data
REP_TEMP=$REP_RACINE/temp
REP_SRC=$REP_RACINE/src
NOM_REF=$REP_RACINE/data/messages.
NOM_TEMP=$REP_RACINE/temp/messages.
if [ $# == 0 ]
then
DATE_REF=`$REP_BIN/calcul_date_prec 7`
SEM_REF=`$REP_BIN/calcul_sem_prec 7`
else
DATE_REF=`$REP_BIN/calcul_date_prec $1`
SEM_REF=`$REP_BIN/calcul_sem_prec $1`
fi
JOUR_REF=`cut -f1-7 -d" " $DATE_REF`
typeset -i i=1
while test $i -le 7
do
JOUR_REF=`cut -f$i -d" " $DATE_REF`
gzcat $NOM_REF$JOUR_REF.gz > $NOM_TEMP$JOUR_REF
i=`expr $i+1`
done
typeset -i TOTAL_SEMAINE=0
for j in `ls $NOM_TEMP*`
do
typeset -i TOTAL_JOUR=`grep -c Deny $j`
TOTAL_SEMAINE=`expr $TOTAL_SEMAINE+$TOTAL_JOUR`
done
echo $TOTAL_SEMAINE
rm $NOM_TEMP*
Voilà.
Merci d'avance pour ceuw qui arriverons à trouver une solution.
A voir également:
- Besoin d'aide pour qq lignes de progra Unix
- Partage de photos en ligne - Guide
- Formulaire en ligne de meta - Guide
- Écrire plusieurs lignes dans une cellule excel mac - Guide
- 1500 caractères combien de lignes - Forum Mail
- Supprimer lignes vides excel fin de tableau ✓ - Forum Excel