IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

VI et les REGEXP


Sujet :

Linux

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 2
    Points : 1
    Points
    1
    Par défaut VI et les REGEXP
    Voici mon souci,

    J'ai un fichier avec trois colonnes. Apres queck bidouilles, j'ai deux colonnes concaténées du type:
    bla1 bla2.xxxx.bla3

    Je voudrais modifier le motif .x*. en .x x*. sachant que x sont des digits, qu'on la forme point 1 digit espace 1 ou plusieurs digits point.

    Figure imposée en vi ou sed

    Merci

  2. #2
    Membre averti Avatar de fransoo
    Inscrit en
    Novembre 2009
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 209
    Points : 300
    Points
    300
    Par défaut
    Citation Envoyé par kastorfrinkant Voir le message
    Je voudrais modifier le motif .x*. en .x x*. sachant que x sont des digits, qu'on la forme point 1 digit espace 1 ou plusieurs digits point.
    Le 'x' doit-il être découpé ou recopié ?
    Que doit donner l'exemple 'bla1 bla2.1234.bla3' ?

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    bla1 bla2.1234.bla3 doit se transformer en bla1 bla2.1 234.bla3.
    En fait on parle de coordonnées géographiques bla2 doit avoir obligatoirement une décimale, la valeur entière avant bla3 peut avoir un ou plusieurs chiffres (c'est une profondeur donc ça peut être quelque chose du type -12.10, 5.3 ou -100.3 ...)

    Merci

  4. #4
    Membre averti Avatar de fransoo
    Inscrit en
    Novembre 2009
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 209
    Points : 300
    Points
    300
    Par défaut
    L'impression que la bidouille qui a concaténé est une fausse manip...
    Il faudrait préciser en quoi consistent bla1 bla2 et bla3
    bla1 bla2.xxxx.bla3
    Est-ce
    [:alpha:]*[:num:]* [:alpha:]*[:num:]*.[:num:][:num:]*.[:alpha:]*[:num:]*

    En fait un échantillon de données de quelques lignes significatives aiderait grandement à effectuer des essais.

  5. #5
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 689
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 689
    Points : 30 983
    Points
    30 983
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par kastorfrinkant Voir le message
    Voici mon souci,

    J'ai un fichier avec trois colonnes. Apres queck bidouilles, j'ai deux colonnes concaténées du type:
    bla1 bla2.xxxx.bla3

    Je voudrais modifier le motif .x*. en .x x*. sachant que x sont des digits, qu'on la forme point 1 digit espace 1 ou plusieurs digits point.

    Figure imposée en vi ou sed

    Merci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    :1,$s/\.\([0-9]\)\([0-9]\{1,\}\)\./.\1 \2./g
    Traduction
    Tout point littéral suivi d'un digit qui sera mémorisé en mémoire 1 grâce aux parenthèses, suivi ensuite de n'importe quel digit répété 1 ou plusieurs fois, ce groupe mémorisé en mémoire 2 grâce aux parenthèses et terminé par un point littéral; sera remplacé par point (le caractère ".") puis mémoire 1 (le digit) puis espace puis mémoire 2 (le groupe de digits qui suit) puis point (".")

    J'ai coloré la symbolique qui permet de mémoriser un truc avec les regex
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. Besoin d'un coup de main avec les regexp .Net
    Par scaleo dans le forum Windows Forms
    Réponses: 5
    Dernier message: 25/06/2007, 10h40
  2. Toujours Les RegExp
    Par LEK dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 30/05/2007, 10h04
  3. les regExp ne sont décidément pas ma tasse de thé !
    Par SpaceFrog dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 05/12/2006, 16h14
  4. Demande d'aide sur les regexp
    Par Uld dans le forum Langage
    Réponses: 1
    Dernier message: 18/08/2006, 22h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo