Script shell

Bonjour,

j'ai un tableau avec des valeurs séparées par des point-virgules et j'aimerai changer toutes les valeurs de la deuxiéme et cinquième colonne par des valeurs contenues dans un tableau de correspondance,

ne connaissant rien en programmation unix, merci pour votre aide,

Cordialement,

LO
Configuration: Windows XP
Firefox 2.0.0.9

4 réponses

  1. Le but du script est le suivant:

    Transformer le fichier suivant
    NOM_A;valeur_x1;NOM_B;valeur_x2
    NOM_A;valeur_x2;NOM_B;valeur_x3
    NOM_A;valeur_x1;NOM_B;valeur_x3

    en un autre modifié :

    NOM_A;valeur_y1;NOM_B;valeur_y2
    NOM_A;valeur_y2;NOM_B;valeur_y3
    NOM_A;valeur_y1;NOM_B;valeur_y3

    les correspondances étant dans un tableau annexe du type :

    x1;y1
    x2;y2
    x3;y3

    c'est à dire remplacer les valeurs x par celle qui correspond en y

    D'avance merci,
    1. salut!
      essai avec la commande regexp ("man regexp") je crois qu'on peut l'utiliser aisément pour modifier des valeurs.Désolé mais je ne pourrai pas t'aider d'avantage. J'ai un collègue qui avait fais la même chose et je crois bien que c'est cette comande qu'il a utilisé.
      1. Contributeur
        Soit f1.txt
        NOM_A;valeur_x1;NOM_B;valeur_x2
        NOM_A;valeur_x2;NOM_B;valeur_x3
        NOM_A;valeur_x1;NOM_B;valeur_x3

        Soit f2.txt
        x1;y1
        x2;y2
        x3;y3

        awk 'BEGIN{FS=";";while("cat f2.txt"|getline)x[$1]=$2} ; {FS="[_;]" ; $4=x[$4] ; $8=x[$8] ; print $0}' < f1.txt