Awk

Résolu
Bonjour,

J'ai des msisdn avec 2613207xxxx et Je voudrai enlevé le 261 avec awk et ne laissé que le 3207xxxx. Est ce que quelqu'un pourrait m'aider SVP?

4 réponses

  1. salut,

    pourquoi
    awk
    ?
    pourquoi
    261
    ? c'est une valeur fixe ? c'est les 3 premiers chiffres ?
    0
    1. ceci est une MSISDN de mada!
      Oui c'est une valeur fixe et je voudrai faire une envoi SMS or le programme ne prend compte que le 32xxxx.
      0
      1. Salut,

        ça peut être vite fait avec un sed
        si tu travailles en ligne par ligne :

        $ echo "261dsf564d6fs54
        261qggfg
        266fgfgdf261
        26754542615
        2261564
        261555555555" | sed 's/^261//g'
        dsf564d6fs54
        qggfg
        266fgfgdf261
        26754542615
        2261564
        555555555
        0
        1. Contributeur
          Salut,

          sed 's/^261//g'
          Le flag "g" ne sert strictement à rien dans la mesure où il signifie "toutes les occurrences rencontrées sur une même ligne", puisqu'on en cherche qu'une et du fait que l'occurrence recherchée doit être en début de ligne, donc peu de chance d'en rencontrer une autre ;-\
          0
        2. oui c'est vrai ! je me demande pourquoi je l'ai mis, une habitude peut être, je suis allé trop vite
          0
      2. oui, j'ai utiliser sed et cela fonctionne mais je voudrai savoir si c'est possible avec awk!
        sed 's/2613/3/'
        0
        1. Contributeur
          Salut,

          $ cat plop 
          261dsf564d6fs54
          261qggfg
          266fgfgdf261
          26754542615
          2261564
          261555555555

          $ awk 'sub(/^261/,//,$0) 1' plop
          1dsf564d6fs54
          1qggfg
          266fgfgdf261
          26754542615
          2261564
          1555555555
          0
        2. merci beaucoup pour votre aide!
          0