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 :

Suppression des commentaires dans des scripts


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 3
    Par défaut Suppression des commentaires dans des scripts
    Bonjour,

    Je dois dans des scripts ksh, perl et matlab supprimer l'ensemble des commentaires ainsi que les lignes vides.

    Pour ce faire j'ai utilisé la commande sed. Est ce la meilleure solution ??

    J'ai reussi :
    - à supprimer les lignes vides
    - à supprimer les lignes de commentaires "classiques" meme si y a des espaces avant :
    # Ceci un est commentaire

    Par contre je ne sais pas comment supprimer les commentaires se situant en bout de ligne :
    Ex : listeFichier=`find SCRIPT/ \( -name "*.$1" \)` #Cherche les fichiers .....

    Est ce faisaible avec SED ?? comment s'y prendre ??

    Merci d'avance

  2. #2
    Rédacteur/Modérateur
    Avatar de Winnt
    Homme Profil pro
    budget et contrôle de gestion
    Inscrit en
    Décembre 2006
    Messages
    1 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : budget et contrôle de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 978
    Par défaut
    Salut,

    avec ca (pas testé) ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -i 's/#.*$//' <nom_fichier>
    Citation Envoyé par julinho9
    Pour ce faire j'ai utilisé la commande sed. Est ce la meilleure solution ??
    La meilleure je ne sais pas mais une bonne surement
    Winnt
    Merci de lire les règles du forum LaTeX et Qu'est ce qu'un ECM ?.
    N'hésitez pas à parcourir la FAQ la réponse y est peut-être déjà.
    Pensez au bouton si votre problème est résolu.


    C'est en Linuxant qu'on devient .... geek
    Et c'est en LateXant qu'on devient flemmard
    Mon blog tout neuf.
    Articles : présentation de la distribution Gentoo, Les index sous LaTeX et leur personnalisation.

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 3
    Par défaut
    j'ai testé avec
    sed -e 's/[ \t]#.*$//'
    ça a l'air de bien fonctionner

  4. #4
    Rédacteur/Modérateur
    Avatar de Winnt
    Homme Profil pro
    budget et contrôle de gestion
    Inscrit en
    Décembre 2006
    Messages
    1 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : budget et contrôle de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 978
    Par défaut
    Salut,

    Le -e n'est pas nécessaire dans ce cas.
    Le -e est a utiliser lorsque l'on veut utiliser plusieurs commande sed en une seule ligne.
    Winnt
    Merci de lire les règles du forum LaTeX et Qu'est ce qu'un ECM ?.
    N'hésitez pas à parcourir la FAQ la réponse y est peut-être déjà.
    Pensez au bouton si votre problème est résolu.


    C'est en Linuxant qu'on devient .... geek
    Et c'est en LateXant qu'on devient flemmard
    Mon blog tout neuf.
    Articles : présentation de la distribution Gentoo, Les index sous LaTeX et leur personnalisation.

  5. #5
    Membre émérite
    Avatar de D[r]eadLock
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    504
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 504
    Par défaut
    Citation Envoyé par julinho9 Voir le message
    j'ai testé avec
    sed -e 's/[ \t]#.*$//'
    ça a l'air de bien fonctionner
    Le risque que tu prend c'est de corrompre des chaines de caractères qui on un # dedans comme print "toto #$i"; mais là c'est beaucoup plus dur ;D
    Tu peux peut-être faire un grep avant pour voir par exemple si tu n'as de telles lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    grep -nHP '"[^"\n]*[ \t]#' ...
    Bien qu'il risque de t'afficher des faux-positifs (par exemple print "toto" # tutu)

Discussions similaires

  1. SED: Script de suppression des commentaires dans d'un fichier file.[c|cpp]
    Par Teudjy dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 19/04/2014, 02h23
  2. Comment ajouter des séries dans des graphes sur des feuilles variables
    Par Molomarcopolo dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/07/2012, 16h26
  3. Réponses: 4
    Dernier message: 03/02/2011, 20h58
  4. VBA: Transferer des commentaires dans des cellulles
    Par Monteninho dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 21/08/2007, 09h31
  5. Des commentaires dans le fichier Boot.ini
    Par Furius dans le forum Windows
    Réponses: 6
    Dernier message: 27/10/2005, 10h41

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