Bonjour,

Je travaille actuellement sur un projet Linux / Shell.
En fait, je dois lire une liste de fichier contenant des données de ce type :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
0 0 0 1,15 * * commande
2 30 2 1,15 * * commande
0 15 3 * * commande
1 * * * * * commande
J'utilise la commande set sur chaque ligne du fichier, et le soucis, c'est que je n'arrive pas à récupérer le caractère *, j'obtiens soit dans un cas le $i ou dans un autre cas la liste des fichiers du répertoire courant.

Je vous montre mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
for file in `ls /etc/tache`
do
        while read line
        do
                set $line
 
                if [ $# -eq 7 ]
                then
                        echo "Ligne : $*"
                        echo "Seconde :" $1
                        echo "Minute :" $2
                        echo "Heure :" $3
                        echo "Jour du mois : $4"
                        echo "Mois de année : $5"
                        echo "Jour de la semaine : $6"
                        echo "Commande : $7"
                else
                        echo "Erreur"
                fi
 
        done < $file
done
Si vous avez une solution pour banaliser le caractère étoilé, je vous remercie.

Bye.

Spirit