Forum Programmation.shell Lien entre un script Sh et un fichier OO de type BD ou Tableur

Posté par  .
Étiquettes : aucune
0
16
fév.
2009
Salut tout le monde,

J'ai réussi avec l'aide des membres de Dalinux à faire mon premier script en sh.

find ~/Bureau/Linux/varexp.dat -print >> fichier.log -exec sed -i 's/A,PCVUE/W,PCVUE/g ; s/B,PCVUE/X,PCVUE/g ; s/C,PCVUE/Y,PCVUE/g ; s/D,PCVUE/Z,PCVUE/g' {} \;

Je voudrai maintenant faire en sorte que mes valeurs "A,PCVUE" et "W,PCVUE" correspondent à un champs de ma base de données ou de mon tableur.

Est ce possible ?

Merci d'avance.
  • # objet d'un autre post ?

    Posté par  . Évalué à 2.

    il me semble que tu avais deja posé la question sur comment faire un remplacement en prenant les infos dans un fichier
    http://linuxfr.org/forums/26/26697.html

    ben là il te suffit de remplir le fichier avec
    - le resultat d'une requete vers ta base de données,
    - ou un export de ton tableau excel au format csv
    • [^] # Re: objet d'un autre post ?

      Posté par  . Évalué à 1.

      Je ne demandai pas la même chose pour moi.

      L'objectif est que le fichier sh mémorise la cellule 1 de la colonne 1 de la base ou du tableur dans une variable nommée "ancienne_valeur".
      Idem pour la cellule 1 de la colonne 2 dans une variable nommée "nouvelle_valeur".

      Puis ensuite je fais mon traitement sur tout mon répertoire.

      Mais je ne connais pas la syntaxe pour faire le lien entre ma base ou mon tableur et le fichier sh.

      Je pense que je dois déclarer une variable de type $a mais est ce vraiment cela ?
      • [^] # Re: objet d'un autre post ?

        Posté par  . Évalué à 2.

        1°) un fichier excel avec 2 colonnes, tu l'enregistre au format CSV avec ; comme separateur
        2°) tu obtiens un fichier texte comme dans ton post precedent sauf que le fichier contient
        ancienne valeur;nouvelle valeur;

        le ; etant la separation entre les colonnes

        3°) tu reprend le script du post precedent (qui repondait deja partiellement à ta demande)
        et tu l'adaptes pour recuperer les valeurs sachant que le ; est la marque de la colonne

        la boucle while, le read etant fortement similaire au cas precedent
    • [^] # Re: objet d'un autre post ?

      Posté par  . Évalué à 1.

      Est-il possible d'extraire une cellule particuliére d'un fichier cal pour s'en servir dans un script shell
      • [^] # Re: objet d'un autre post ?

        Posté par  (site web personnel) . Évalué à 1.

        Pas trouvé de facon classique de faire mais on peut faire ca a la main sinon.

        Étant donné que les fichier ods ne sont que des archive zip contenant des fichiers xml et autres :

        unzip -c mon_fichier.ods content.xml | xmlindent

        Permet de récupérer un joli xml que l'on peut trifouiller avec xmlstarlet par exemple

        Bon moi je connais pas grand chose sur la manipulation XML alors j'utilise sed (awk est à mon avis plus approprié mais j'ai pas le temps)

        unzip -c mon_fichier.ods content.xml | xmlindent | sed -n "/<text:p>.*<\/text:p>/p"

        Bon reste a ajuster l'affichage tout ca mais c'est l'idée
      • [^] # Re: objet d'un autre post ?

        Posté par  . Évalué à 2.

        je vais surement dire une betise, mais pourquoi ne pas utiliser un tableur pour rechercher/remplacer dans un tableau ?

        il y a surement les options qui vont bien
        • [^] # Plusieurs avis c'est mieux qu'un...

          Posté par  . Évalué à 1.

          Quel nul.

          Il suffit d'enregistrer mon fichier sous oo en csv.
          • [^] # Re: Plusieurs avis c'est mieux qu'un...

            Posté par  . Évalué à 2.

            ben c'est un peu ce que j'ai dit trois post plus haut
            1°) un fichier excel avec 2 colonnes, tu l'enregistres au format CSV avec ; comme separateur
            2°) tu obtiens un fichier texte comme dans ton post precedent sauf que le fichier contient
            ancienne valeur;nouvelle valeur;

            le ; etant la separation entre les colonnes

            3°) tu reprend le script du post precedent (qui repondait deja partiellement à ta demande)
            et tu l'adaptes pour recuperer les valeurs sachant que le ; est la marque de la colonne

            la boucle while, le read etant fortement similaire au cas precedent


            enfin je dis ca, je dis rien...

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.