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: Script de suppression des commentaires dans d'un fichier file.[c|cpp]


Sujet :

Shell et commandes GNU

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 73
    Points : 74
    Points
    74
    Par défaut SED: Script de suppression des commentaires dans d'un fichier file.[c|cpp]
    Salut tout le monde,

    Voilà, je viens de passer du temps sur un script sed et pour que ce temps ai servis à quelque chose je vous partage le travail
    Hésitez pas à me remonter des bugs/problèmes/amélioration que je pourrais apporter

    Ce script permet de parser un fichier C ou C++ afin de supprimer les commentaires.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    /\/\*/ {
      /^.+\/\*.*$/ { s/((.*;)+).*\/\*.*$/\1/g;p }
      :start
      /\*\// { d }
      N;
      b start
    }
    /\/\// {
      /^\/\//d
      s/((.*;)+)(.*\/\/.*)$/\1/1
    }
    p
    J'essaierais de mettre à jour le script dès que possible

    Corrigé

  2. #2
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 242
    Points : 13 457
    Points
    13 457
    Par défaut
    Bonjour,

    Je n'ai pas étudié la boucle. Le cas de la ligne unique avec // ne fonctionne déjà pas comme le montre cet exemple triple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $ cat antianticommentaire.txt 
    void monCSurLaCommode()
    {
    	cout<<"// La perfection n'est pas de ce monde\n";
    	//Même là j'en doute
    	cout<<true<<"lala itou";
    //Quand à ces 2 lignes, faut avouer qu'il est bizarre 
    // qu'elles disparaissent alors que l'autre a juste été vidée.
    }
    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
    19
    20
    $ sed -nE ' 
        /\/\*/ {
            /^.+\/\*.*$/ { s/\/\*.*$//g;p }
            :start
            /\*\// { h; d }
            N;
            b start
        }
        /\/\// {
            /^\/\//d
            s/\/\/.*$//g
       }
      p
    ' <antianticommentaire.txt 
    void monCSurLaCommode()
    {
    	cout<<"
     
    	cout<<true<<"lala itou";
    }
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 73
    Points : 74
    Points
    74
    Par défaut
    En effet tu as raison, je viens de me pencher dessus et j'ai peut-être trouver une solution.
    Chez moi ca fonctionne

Discussions similaires

  1. Réponses: 4
    Dernier message: 03/02/2011, 20h58
  2. Suppression des commentaires dans des scripts
    Par julinho9 dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 06/03/2009, 19h26
  3. Des commentaires dans le fichier Boot.ini
    Par Furius dans le forum Windows
    Réponses: 6
    Dernier message: 27/10/2005, 10h41
  4. Réponses: 3
    Dernier message: 31/01/2005, 23h18
  5. [Lisp] Suppression des parenthèses dans une liste
    Par bourdaillet dans le forum Lisp
    Réponses: 3
    Dernier message: 19/12/2004, 21h02

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