Shell Unix

Fermé
sndiaye - 5 mars 2008 à 12:32
mamiemando Messages postés 33284 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 25 septembre 2024 - 6 mars 2008 à 01:16
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"}'`
A voir également:

1 réponse

mamiemando Messages postés 33284 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 25 septembre 2024 7 787
6 mars 2008 à 01:16
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