• [^] # Re: pas compris l'exemple

    Posté par . En réponse au lien Un grep contextuel en Ada. Évalué à 5.

    De ce que je comprends :

    add-dirs D:/dev/calendon/src
    

    Cherche dans le dossier indiqué...

    find-regex ^\s*#\s*if
    

    une ligne contenant « #if » (avec éventuellement des blancs avant/après le « # »), puis...

    find-text clang
    

    dans le « voisinage » (« contexte ») de la ligne précédente, chercher une ligne contenant « clang »...

    exclude-text pop
    

    mais le « voisinage » ne doit pas contenir de ligne contenant « pop ».

    match-contexts
    

    Lancer la recherche pour trouver tous les blocs de texte (tous les « voisinages ») correspondants aux critères précédents, c’est-à-dire contenant « clang » mais pas « pop » à proximité d’un « #if ». La taille d’un « voisinage » étant définie par défaut à 7 lignes.

    En gros, l’idée est plus ou moins la même que

    grep -A 7 '^\s*#\s*if' D:/dev/calendon/src/* | grep clang | grep -v pop