Partage
  • Partager sur Facebook
  • Partager sur Twitter

double tableau en bash

Sujet résolu
    9 juillet 2021 à 13:04:30

    Bonjour,

    J'essaie de reproduire le fonctionnement d'une machine de turing en bash. Je bloque sur les double tableau. voici une ligne type d'un prgm de Turing:

    gauche 0 _ r defile_d0

    J'ai donc stocké toutes les lignes de mon prgm dans un tableau:

    # récupère les lignes du fichier et les met dans un tableau
    cut_line_file(){
        list_lines=()
        while read line
        do
            list_lines+=( "$line" )
        done < prgm.txt
    }

    donc si je fait :

    echo ${list_lignes[0]}

    J'obtiens bien:

    gauche 0 _ r defile_d0


    Maintenat je voudrais pouvoir découer ma ligne a chaque espace puis le stocké dans le même tableu :

    Quelque chose du style?

    list_lines=( ( "gauche" "0" "_" "r" "defile_d0" ) ( "une autre ligne" ) )

    J'ai tenté quelque chose comme ça sans résultat

    # découpe la ligne en plusieurs arguments
    cut_words(){
        txt="${list_lines[0]}"
        list_lines[0]=`echo $txt | tr ' ' '\n'`
        echo ${list_lines[0:2]}
    }



    Voilà j'espère que qqn pourras éclairer ma lanterne et merci d'avance :)



    • Partager sur Facebook
    • Partager sur Twitter

    "A computer is like air conditioning, it becomes useless when you open Windows" Linus Torvalds

      9 juillet 2021 à 13:41:03

      salut,

      tu as un tableau qui contient des lignes; c'est quand tu voudras utiliser une ligne que tu pourras lire cette ligne dans un nouveau tableau qui contient des mots.

      je ne comprends pas l'intérêt de la manœuvre; tu veux bien détailler tes intentions ?

      • Partager sur Facebook
      • Partager sur Twitter

      Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique

        9 juillet 2021 à 13:47:49

        J'ai appris à programmer avec python et dans python je peut faire quelque chose dans le genre:

        double_tab = [["gauche", "0", "_", "r", "defile_d0"], ["une", "autre", "ligne"]]

        Commence je viens de commencer le bash je cherchais à faire quelque chose qui y ressemble.

        Mon objectif est de pouvoir interpréter chaque mot séparément et non sous la forme d'une seule chaîne de charactère. C'est ce qui me semblait le plus pratique pour la machine de turing.

        • Partager sur Facebook
        • Partager sur Twitter

        "A computer is like air conditioning, it becomes useless when you open Windows" Linus Torvalds

          9 juillet 2021 à 13:57:33

          ça n'existe pas en bash.

          mais, quand un élément du tableau "lignes" sera sélectionné, son emploi sans guillemets développera la commande en mots.
          tu pourras, comme je l'ai dit, mettre cette ligne de mots dans un nouveau tableau à partir duquel tu pourras sélectionner des mots si c'est ce que tu veux.

          • Partager sur Facebook
          • Partager sur Twitter

          Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique

            9 juillet 2021 à 14:01:44

            D'accord merci

            je crois avoir compris mais c'est dommage. Cette fonctionnalité de double tableau est quand même vachement utile:(

            • Partager sur Facebook
            • Partager sur Twitter

            "A computer is like air conditioning, it becomes useless when you open Windows" Linus Torvalds

            double tableau en bash

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown