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 :

Demande d'aide sur un script de mise en forme..


Sujet :

Linux

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2003
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 25
    Points : 23
    Points
    23
    Par défaut Demande d'aide sur un script de mise en forme..
    Bonjour a tous,
    mes connaissance en script linux etant tres limité, je viens demander de l'aide

    voila mon probleme, j'ai une liste de noms séparé par des "." et je voudrais appliquer un traitement pour n'avoir que le premier nom de chaque ligne (avant le "." et le 2eme (et 3eme s'il y en a) en un seul bloc mais en laissant le "." ...
    houais j'ai compris c'est le bordel ! pas taper...

    voila l'exemple:

    le fichier d'origine:
    toto.tata.titi
    tutu.tyty
    tete.toto.tata

    le fichier que je voudrais avoir:
    toto .tata.titi
    tutu .tyty
    tete .toto.tata

    comme on peut le voir, la séparation ne doit se faire dés le premier "." rencontré, en fait pour faire simple, il suffirais juste de rajouter un espace avant le premier "." rencontré de chaque ligne

    j'aurais du commencer par la pour mes explications lol...

    je pense qu'avec un SED ca doit le faire, mais je sais pas comment faire, merci par avance pour votre aide.

  2. #2
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Tu pourrais faire ça avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    perl -pe 's/\./ ./' fichier.txt
    --
    Jedaï

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2007
    Messages : 66
    Points : 95
    Points
    95
    Par défaut
    avec sed et les champs délimités par \( et \) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sed "s/\([:alphanum:]*\)\.\(.*\)/\1 \.\2/"   fichier.txt
    donc ici on a 2 champs séparés par le 1er point, on substitue toute la ligne par elle-même avec un ajout d'un espace à l'endroit désiré, cad avant le 1er point.

  4. #4
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par To-Ma Voir le message
    avec sed et les champs délimités par \( et \) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sed "s/\([:alphanum:]*\)\.\(.*\)/\1 \.\2/"   fichier.txt
    donc ici on a 2 champs séparés par le 1er point, on substitue toute la ligne par elle-même avec un ajout d'un espace à l'endroit désiré, cad avant le 1er point.
    NB : Avec sed, on peut aussi utiliser la même regex qu'avec mon exemple Perl :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed 's/\./ ./' fichier.txt
    --
    Jedaï

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2007
    Messages : 66
    Points : 95
    Points
    95
    Par défaut
    effectivement, j'ai vu perl j'ai zappé...et, sur chaque ligne, sed opère sur la première occurence du motif à substituer.

Discussions similaires

  1. [Batch] Demande d'aide sur le script batch
    Par louispeperman dans le forum Scripts/Batch
    Réponses: 27
    Dernier message: 22/04/2013, 10h42
  2. demande d'aide sur scripts
    Par threepwood dans le forum Linux
    Réponses: 5
    Dernier message: 06/08/2008, 13h34
  3. demande d'aide sur un script
    Par threepwood dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 24/05/2007, 11h45
  4. Besoin d'aide sur un script SQL de recherche
    Par agougeon dans le forum Langage SQL
    Réponses: 5
    Dernier message: 26/10/2005, 11h40
  5. demande d'aide sur samba
    Par marcoss dans le forum Développement
    Réponses: 5
    Dernier message: 04/12/2003, 19h38

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