Forum Linux.débutant help me

Posté par  .
Étiquettes : aucune
0
22
mar.
2006

j'suis debutant sous linux, et la au taff on vient de me demander de faire un petit script qui créé une table toute simple en sql, et de la charger avec les resultats de la commande lsallq (commande qui sort le listing des imprimantes).

créer la table = pas de problème

la charger avec les valeur retournées par lsallq c'est la que ca peche.

merci de m'aider.

cordialment

  • # .

    Posté par  . Évalué à 1.

    je sais pas ce que sort la commande lsallq, mais si c'est du texte plus ou moins formatté tu dois pouvoir t'en sortir. Il faudrait aussi préciser que langage/outils/sgbd tu utilises.

    si tu as awk et mysql ton probleme se résoud normalement en quelques lignes avec un schéma genre :

    lsallq | awk '{ print "insert into ma table values ("$1")" ; }' > monFichier.sql
    • [^] # Re: .

      Posté par  . Évalué à 1.

      merci de repondre aussi vite, je n'ai ni awk ni mysql, en fait c''est sur Aix la commande lsallq renvoir ligne par ligne le nom de chaque imprimante présente sur le serveur,
      les table ne sont pas en .sql mais en .unl sur informix en 4gl.
      c pour ca c la merde en plus en c j'y connai quedal moi j'suis de la generation programmation objet vb.net .... alors du c a l'ancinne .... berk
      bref, il me fuadrai faire un script avec une boucle qui pour chaque ligne du resultat de la commande incremente la valeur dans ma table.
      • [^] # Re: .

        Posté par  . Évalué à 3.

        Avec informix, tu as un outil nommé isql qui te permet de générer des formes d'écrans pour taper directement dans une table, un éditeur de rapports (un peu comme les états d'acces), un éditeur de requêtes sql, etc.
        Bon, c'est en mode texte, en console, donc, mais je te rassure, c'est assez facile à prendre en main, et il y a pas mal de doc.
        isql bdd se connecte à la base de données direct.
        Après, tu dois pouvoir l'appeler directement avec un script sql
        isql bdd truc.sql doit exécuter truc.sql (les commandes qui sont dans le fichier) sur la base de données bdd. Pas testé, à voir donc.
      • [^] # Re: .

        Posté par  . Évalué à 2.

        bref, il me fuadrai faire un script avec une boucle qui pour chaque ligne du resultat de la commande incremente la valeur dans ma table.
        en shell:
        INC=`lsallq| wc -l'

        et tu insères cette valeur dans ta requête sql.

        c pour ca c la merde en plus en c j'y connai quedal moi j'suis de la generation programmation objet vb.net .... alors du c a l'ancinne .... berk

        bah ouais, dès qu'on commence à faire de l'informatique, ça fait mal hein ? :]

        ps: y'a pas que les cours d'info que t'as séché :))
        • [^] # Re: .

          Posté par  . Évalué à 1.

          je vous remercie de tous vous pencher sur mon cas, malheureusement ca ne resoud toujours pas mon problème, au niveau d'informix, je connais isql (je travail dessus). je vais essayer de vous expliquer plus précisement et sans fautes d'orthographes :
          je sais exactement ce que je dois faire mais j'dois me planter dans les syntaxes en gros :


          isql -s $base - <<+
          create table nimpsys
          (
          nuimpr char(10)
          );
          create unique index nimpsys_idx_1 on nimpsys (nuimpr);
          +
          # jusqu'ici tout va bien

          #la j'écris en langage algo :

          pour i de 1 a fin du fichier
          variable = valeur i de la commande lsallq
          isql -s $base - <++
          udpate table nimpsys
          (
          ajouter $variable à nuimpr
          )
          +
          fin pour

          en fait c'est juste cette deuxieme parti qu'il me faudrai en langage script que je ne connais pas du tout et dont j'ai un peu de mal a comprendre.

          merci d'avance.

Suivre le flux des commentaires

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