Awk

Résolu
herysoa Messages postés 9 Statut Membre -  
herysoa Messages postés 9 Statut Membre -
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. Utilisateur anonyme
     
    salut,

    pourquoi
    awk
    ?
    pourquoi
    261
    ? c'est une valeur fixe ? c'est les 3 premiers chiffres ?
    0
  2. herysoa Messages postés 9 Statut Membre
     
    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
  3. gnugo Messages postés 153 Date d'inscription   Statut Membre Dernière intervention   46
     
    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. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      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. gnugo Messages postés 153 Date d'inscription   Statut Membre Dernière intervention   46
       
      oui c'est vrai ! je me demande pourquoi je l'ai mis, une habitude peut être, je suis allé trop vite
      0
  4. herysoa Messages postés 9 Statut Membre
     
    oui, j'ai utiliser sed et cela fonctionne mais je voudrai savoir si c'est possible avec awk!
    sed 's/2613/3/'
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Salut,

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

      $ awk 'sub(/^261/,//,$0) 1' plop
      1dsf564d6fs54
      1qggfg
      266fgfgdf261
      26754542615
      2261564
      1555555555
      0
    2. herysoa Messages postés 9 Statut Membre
       
      merci beaucoup pour votre aide!
      0