Shell Unix
Bonjour,
Quelqu'un peut m'aider à d'écripter les lignes suivantes:
1 FADIR=C:/"chemin du repertoire"
2 NBJRUN=`ls $FADIR | find '#RUN' | wc -l`
3 NBJWAIT=`ls $FADIR | grep '#WAIT' |wc -l`
4 JOBF=`ls $FADIR/*#*#*#*#WAIT | head -1`
5 if test `cat "$JOBF" |wc -l ` -ne 10
6 . "$JOBF"
7 NEWJOBF=`echo $JOBF|awk -F'#' '{print $1"#"$2"#"$3"#"$4"#RUN"}'`
Quelqu'un peut m'aider à d'écripter les lignes suivantes:
1 FADIR=C:/"chemin du repertoire"
2 NBJRUN=`ls $FADIR | find '#RUN' | wc -l`
3 NBJWAIT=`ls $FADIR | grep '#WAIT' |wc -l`
4 JOBF=`ls $FADIR/*#*#*#*#WAIT | head -1`
5 if test `cat "$JOBF" |wc -l ` -ne 10
6 . "$JOBF"
7 NEWJOBF=`echo $JOBF|awk -F'#' '{print $1"#"$2"#"$3"#"$4"#RUN"}'`
Configuration: Windows XP Internet Explorer 6.0
1 réponse
-
FADIR="C:/chemin du repertoire"
Met dans la variable shell FADIR la valeur "C:\chemin du repertoire" (j'ai corrigé les guillemets)NBJRUN=`ls $FADIR | find '#RUN' | wc -l`
Pour moi cette commande n'a pas de sensNBJWAIT=`ls $FADIR | grep '#WAIT' |wc -l`
Liste le contenu du répertoire FADIR, ne conserve que les lignes (fichiers) contenant #WAIT, et compte ce nombre de ligne (on a donc le nombre de fichier contenant #WAIT)JOBF=`ls $FADIR/*#*#*#*#WAIT | head -1`
Liste les fichiers de FADIR dont le nom est de la forme *#*#*#*#WAIT et ne conserve que la première ligneif test `cat "$JOBF" |wc -l ` -ne 10
Ecrire le contenu de la variable JOBF, compter le nombre de ligne de cette valeur, et regarder si ce nombre de ligne est différent de 10. "$JOBF"
Exécuter le script dont le nom correspond à la valeur stockée dans la variable JOBFNEWJOBF=`echo $JOBF|awk -F'#' '{print $1"#"$2"#"$3"#"$4"#RUN"}'`
Ecrire la valeur de la variable shell JOBF, splitter son contenu sur le caractère #, puis écrire le premier morceau extrait, #, le deuxième morceau extrait, #...., #RUN, et stocker le nom ainsi obtenu dans la variable NEWJOBF.
Pour plus de précisions, je t'invite à lire un tutoriel sur bash, et à utiliser massivement les manuels. Pour cela tape dans une console :man ls man cat man echo man awk man grep man head man wc
Bonne chance