IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

[shell]Lire un fichier properties


Sujet :

Linux

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 389
    Points : 192
    Points
    192
    Par défaut [shell]Lire un fichier properties
    Bonjour,
    je dois réaliser un petit script qui récupère des infos dans un fichier .properties :
    la clé est le nom du fichier, et la valeur est la propriété.
    Ensuite, je dois aller récupérer dans le fichier concerné, la valeur de la propriété récupérée.

    Je voudrai savoir si ce genre de manipulation pouvait se réaliser simplement et rapidement, sachant que je n'ai pas une bonne maîtrise du shell.*

    Si oui, quelle(s) commande(s) utiliser pour lire un fichier properties?

    Merci

  2. #2
    Nouveau membre du Club
    Inscrit en
    Mars 2010
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 46
    Points : 37
    Points
    37
    Par défaut
    Bjr,
    Ca dépends du fichier .properties (un ptit exemple serait pas mal), si c'est un fichier encoder lisible.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep "propriete" fichier.properties | cut -d (à compléter selon fichier)

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 389
    Points : 192
    Points
    192
    Par défaut
    Le fichier properties ressemble à ça :

    datasource.name.name=toto
    datasource.url=localhost
    datasource.username=toto
    datasource.password=toto

    et il est bien entendu encodé en mode unix.
    J'avais pensé aux grep, mais je pensais qu'il existait peut-être une commande pour lire une valeur à partir d'une clé. Mais grep fait ça très bien en fait!

    Par contre, je ne vois pas trop comment réaliser ce que je veux.
    Comment d'abord récupérer la liste des propriétés dont j'ai besoin, et les mettre dans un tableau par exemple?
    Ensuite, à partir de ce tableau, je dois aller chercher la valeur de chaque propriété (en utilisant le grep).

  4. #4
    Nouveau membre du Club
    Inscrit en
    Mars 2010
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 46
    Points : 37
    Points
    37
    Par défaut
    Tu peux faire une boucle par exemple. si j'ai bien compris ton premier message, la cle est le nom du fichier, et la valeur est le nom de la propriété à récupérer dans ce fichier.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    while read ligne
    do
    fichier=$(cut -d '=' -f1 <<< $ligne)
    prop=$(cut -d '=' -f2 <<< $ligne)
    valeur=$(grep $prop $fichier | cut -d '=' -f2)
    done < fichier.properties
    Un truc du genre (le cut peut être remplacé par une substitution bash qui sera plus rapide en cas de gros fichier). Il faudrait aussi sécuriser le grep (si le pattern à matcher est en fin de ligne ou début de ligne

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 389
    Points : 192
    Points
    192
    Par défaut
    Bonjour, désolé pour la réponse tardive.
    Merci de ton aide, j'ai réussi à obtenir ce que je voulais en adaptant ce que tu m'as proposé.

  6. #6
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    884
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juillet 2007
    Messages : 884
    Points : 2 019
    Points
    2 019
    Par défaut Et si
    Et si à coup de awk tu transforme ton fichier properties en fichier SHELL que tu réexécute.
    Exp chaque ligne se transforme ainsi
    ma.propertie=maVal deviens $(MA_PROP)=maVal
    C'est juste une idée. Peut être plus efficace que du grep.
    Tout ce que j'écris est libre de droits (Licence CC0) et je vous incite à faire de même.

  7. #7
    Expert éminent

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Points : 6 276
    Points
    6 276
    Par défaut
    Salut,

    Je sais que le sujet date un peu, mais vu qu'il est remonté récemment...

    Est-ce que le fait de sourcer le fichier .properties depuis ton script ne suffirait pas tout simplement ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    source fichier.properties
    $ man woman
    Il n'y a pas de page de manuel pour woman.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Bien lire un fichier properties
    Par metalcoyote dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 29/10/2007, 10h58
  2. [RCP] Lire un fichier properties
    Par ArchFolken dans le forum Eclipse Platform
    Réponses: 3
    Dernier message: 31/08/2007, 11h42
  3. script shell : lire un fichier et donner pour traitement au script
    Par pc974 dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 14/05/2007, 14h38
  4. Lire à un fichier properties
    Par babalastar dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 10/01/2007, 10h38
  5. [Struts] Lire un fichier properties situé ds WEB-INF
    Par tscoops dans le forum Struts 1
    Réponses: 3
    Dernier message: 02/02/2005, 14h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo