Pour l'exemple, on imagine qu'on ait un fichier demo.conf dans notre répertoire Home et que le contenu du fichier soit :
Archlinux
2007.08-2
i686
Code : Tout sélectionner
#!/bin/sh
#Emplacement du fichier texte a traiter
file=$HOME/demo.conf
#Initialisation du compteur x=0
#Initialisation de la boucle pour la lecture du fichier ligne par ligne
while [ $x -lt `(wc -l <$file` ]; do
#Incrémentation du compteur de 1
x=$(($x+1))
#Lecture de la ligne entière et récupération de la valeur dans la variable ln
ln=`head -n $x $file | tail -n 1`
#Traitement de la ligne selon son numéro
if [ $x -eq 1]; then
echo "Distribution : " ${ln}
elif [ $x -eq 2]; then
echo "Version :" ${ln}
elif [ $x -eq 3]; then
echo "Architecture :" ${ln}
fi
#Fin de lecture du fichier
done
#Fermeture du script
exit 0
Maintenant, si nous aurions voulu traiter le fichier directement par le contenu de la ligne, sans s'occuper de son numéro, il suffit de remplacer la partie :Distribution : Archlinux
Version : 2007.08-2
Architecture : i686
Code : Tout sélectionner
#Traitement de la ligne selon son numéro
if [ $x -eq 1]; then
echo "Distribution : " ${ln}
elif [ $x -eq 2]; then
echo "Version :" ${ln}
elif [ $x -eq 3]; then
echo "Architecture :" ${ln}
fi
Code : Tout sélectionner
#Traitement de la ligne selon son contenu
if [ "${ln}" == "i686" ]; then
echo "Le dépôt est : http://repo.archlinux.fr/i686/"
else
echo "Le dépôt est : http://repo.archlinux.fr/x86_64/"
if