Shell Unix

sndiaye -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
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"}'`
Configuration: Windows XP
Internet Explorer 6.0

1 réponse

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 943
     
    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 sens
    NBJWAIT=`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 ligne
    if 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 JOBF
    NEWJOBF=`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
    0