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 :

Mise en commentaire d'un bloc de lignes excepté une ligne du bloc


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 30
    Par défaut Mise en commentaire d'un bloc de lignes excepté une ligne du bloc
    Bonjour,

    Je cherche une commande (sed?) permettant de commenter un bloc de lignes entre 2 balises excepté une ligne dans ce bloc :

    AVANT:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    await function(
                 'createObject', async function (timeoutInMillis = 10000) {
                    await createObject() 
                    }
                 );
    APRES

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // await function(
                // 'createObject', async function (timeoutInMillis = 10000) {
                    await createObject() 
                    // }
                // );

    Merci pour votre aide !

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 662
    Par défaut
    Bonjour,

    commenter un bloc de lignes entre 2 balises
    lesquelles ?

    excepté une ligne dans ce bloc
    laquelle ?
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 30
    Par défaut
    Quelques informations supplémentaires:

    La première balise est 'await function(' # cette balise sera toujours la même dans le fichier
    La balise de fin est ');' # cette balise reste aussi la même

    La ligne qui ne change pas entre ces 2 balises commence toujours par 'await '

    Merci !

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 662
    Par défaut
    avec sed, oui.

    il permet de définir des intervalles :/motif1/,/motif2/.
    les commandes appliquées dans cet intervalles doivent être entre des accolades.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 30
    Par défaut
    Citation Envoyé par N_BaH Voir le message
    avec sed, oui.

    il permet de définir des intervalles :/motif1/,/motif2/.
    les commandes appliquées dans cet intervalles doivent être entre des accolades.
    Oui j'ai passé 2h à tester sed mais je n'arrive pas à:
    - sélectionner le bloc avec les caractères spéciaux (je suis sur macbook pro, j'utilise gnu-sed)
    - exclure la ligne commencant par await au milieu du bloc

    C'est pour ça que je demande de l'aide

  6. #6
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 352
    Par défaut
    Pas testé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed '/await function(/,/\s*);/{s@^@//@;s@//\s*await function(@//&@;s@//\(\s*await \)@\1@;}' fichier

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 662
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed '/motif1/,/motif2/{/motif3/! s/^/\/\//}' fichier
    c'est aussi simple.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

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

Discussions similaires

  1. Editeur XML - Gérer la mise en commentaire d'un bloc
    Par quilombo85 dans le forum Eclipse Platform
    Réponses: 0
    Dernier message: 08/06/2009, 23h37
  2. mise en page d'un bloc
    Par allhambra dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 09/08/2007, 19h36
  3. Mise en page : Disposition des blocs décalée sous IE
    Par OverSu dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 24/06/2007, 15h21
  4. Mise en page avec 3 blocs
    Par kartben dans le forum Balisage (X)HTML et validation W3C
    Réponses: 11
    Dernier message: 10/05/2006, 13h17
  5. [VB6] mise en commentaire d'un bloc de code
    Par JuanDeLaPlaya dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 30/04/2003, 15h05

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