21
décembre 2011

Parser un fichier ini en bash

Pour automatiser un traitement j'ai été obligé de trouver un moyen pour parser x fichiers ini contenue dans un répertoire. Mais avant je devais les déplacer et ensuite récupérer fichier après fichier les valeurs de chaque variable en les attribuant à des variables bash.

Voila le résultat :

#!/bin/bash
SPOOLDIR="/www/thecom/www/spool"
LOADDIR="/www/thecom/www/load"

echo "Installation d'agora projet"

function checkValues() {
        VARVALUE=`grep -w $1 $LOADDIR/$2 | cut -d"=" -f2`
        echo "$VARVALUE"
}

for FILE in $SPOOLDIR/*.ini
do
        FILENAME=`basename $FILE`
        mv $FILE $LOADDIR/$FILENAME

        # Lecture du fichier ini
        NOM=`checkValues "nom" $FILENAME`
        PRENOM=`checkValues "prenom" $FILENAME`
        ADRESSE=`checkValues "adresse" $FILENAME`

        echo $NOM
        echo $PRENOM
        echo $ADRESSE
done
exit 0

Par exemple pour

NOM=`checkValues "nom" $FILENAME`
Je veux affecter à la variable NOM la valeur du paramètre ini nom contenue dans $FILENAME.

Tout bête mais bien plus pratique avec l'utilisation d'une fonction, il y a peut être plus simple mais en 5mn c'est tout ce que j'ai trouvé.

Administrateur système de métier mais surtout curieux de découvrir de nouvelles technos très orientées DIY. A mes heures perdues je fais de la photo avec toujours une petite envie d'intégrer des DIY sous forme de timelaps à base de raspberry.

Écrire un commentaire

Quelle est la troisième lettre du mot epnvmu ? :

Parser un fichier ini en bash - Philippe Maladjian - Péripéties bucoliques d'un administrateur systèmes au royaume de la virtualisation, du stockage et accessoirement photographe à ses heures perdues