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

Shell et commandes GNU Discussion :

[Sed]Remplacer une série d'espaces par un délimiteur


Sujet :

Shell et commandes GNU

  1. #1
    Membre éclairé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Points : 763
    Points
    763
    Par défaut [Sed]Remplacer une série d'espaces par un délimiteur
    Bonjour tout le monde,

    J'ai un tableau (issu d'un fichier PDF) que j'extrais avec pdftotext.
    La sortie est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     Foliotation   Numéros et dates retenues dans               Dates retenues par                   Dates retenues par                   Dates proposées par
                             l'éd. A de Courson                           A. de La Borderie                    W. Davies                            H. Guillotel
     
               1             n° I                832                      832, juin                            un jeudi avant juin 832              832, 5 juin. - Redon.
                                                                                                               puis un mercredi de juin 832
               1r-v          n° II               832, 18 juin             =                                    = (jeudi)                            = - Redon.
               1 v 2.        n° III              834, 20 juin             =                                    = (samedi)                           =
               2-3           n° IV               834, 17 juin             =                                    = (mercredi)                         = - Le Faux en Six-sur-Aff.
               3r-v          n° V                833, 15 mai              =                                    = (jeudi)                            = - Augan.
               3v-4          n° VI               833, 10 décembre         =                                    = (mercredi)                         =
               4r-v          n° VII              833, 9 février           =                                    = (dimanche)                         = - Redon.
               4v-5          n° VIII             833, 26 octobre          =                                    = (dimanche)                         = - Carentoir.
               5r-v          n° IX               833 - 834                833, 29 janvier à 834, 28 janvier    =                                    833, après le 28 janvier
                                                                                                                                                    834, avant le 27 janvier. - Ruffiac.
               5v-6          n° X                833, 28 décembre         =                                    = (dimanche)                         =
               6r-v          n° XI               834, 27 janvier          =                                    = (mardi)                            835, 27 janvier ?
               6v-7          n° XII              834, 18 janvier          =                                    = (dimanche)                         = - Ruffiac.
               7v-v          n° XIII             837, 1er décembre        834, 28 novembre                     = (samedi)                           =
    Chaque colonne est donc séparée par des espaces (au moins 2).
    Du coup, j'essaie de faire une commande sed qui remplace, pour chaque ligne, les zones >= 2 espaces par un délimiteur donné (par exemple, le ';').
    Mais ce genre de choses :
    ne fonctionne pas...

    Des idées ?
    Merci d'avance !
    Aucune réponse à une question technique par MP.
    Ce qui vous pose problème peut poser problème à un(e) autre

    http://thebrutace.labrute.fr

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 550
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 550
    Points : 19 383
    Points
    19 383
    Par défaut
    bonjour,

    ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -r 's/^ *//;s/ {2,}/;/g'
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre éclairé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Points : 763
    Points
    763
    Par défaut
    Merci, c'est parfait
    Aucune réponse à une question technique par MP.
    Ce qui vous pose problème peut poser problème à un(e) autre

    http://thebrutace.labrute.fr

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [vi] Remplacer une suite d'espaces par un seul caractère
    Par kondor76 dans le forum Shell et commandes GNU
    Réponses: 53
    Dernier message: 19/04/2013, 09h51
  2. [BASH] Remplacer une série d'espace
    Par Mister_Kp dans le forum Linux
    Réponses: 5
    Dernier message: 10/05/2011, 09h29
  3. sed: remplacer une ligne qui commence par Version
    Par lili2704 dans le forum Linux
    Réponses: 8
    Dernier message: 21/07/2008, 14h26
  4. [RegEx] Remplacer une suite d'espace blanc par un seul
    Par Sayrus dans le forum Langage
    Réponses: 2
    Dernier message: 27/06/2008, 11h31
  5. Réponses: 4
    Dernier message: 16/04/2004, 16h31

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