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 :

lister les fichiers contenant le mot PRINT non précédé d'un dièse ?


Sujet :

Shell et commandes GNU

  1. #1
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    347
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 347
    Points : 136
    Points
    136
    Par défaut lister les fichiers contenant le mot PRINT non précédé d'un dièse ?
    bonjour,

    je me prends la tête pour trouver un moyen de lister tous les fichiers d'un répertoire, contenant des lignes de codes contenant le mot "print....." mais uniquement celle qui ne contiennent pas de # (dièse) avant le print ! (car c'est un commentaire)

    quelqu'un a-t-il une astuce ?

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 588
    Points : 19 474
    Points
    19 474
    Par défaut
    Je dirais, un peu facilement sans doute, tuber deux grep
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep -Rl print /ton/répertoire | grep -v \#
    ...
    ?

  3. #3
    Membre expert
    Avatar de pitipoisson
    Homme Profil pro
    Chercheur
    Inscrit en
    Septembre 2006
    Messages
    1 942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 942
    Points : 3 378
    Points
    3 378
    Par défaut
    Bonjour,
    Citation Envoyé par N_BaH Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep -Rl print /ton/répertoire | grep -v \#
    ...
    ?
    Ça ne devrait pas marcher : le second grep devrait ne renvoyer que les fichiers ayant print et aucun commentaire (mais il semble y avoir autre chose qui coince en plus, je n'ai pas identifié quoi...).

    Il vaudrait mieux utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep -lR "^[^#]*print" .

  4. #4
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    347
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 347
    Points : 136
    Points
    136
    Par défaut ok
    merci à tous de votre aide, seulement j'ai oublié un ptit détail de poids...

    est-il possible d'afficher aussi la ligne ?
    car les fichiers ont plusieurs centaines de lignes...

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 588
    Points : 19 474
    Points
    19 474
    Par défaut
    Bien sûr, que ça ne peut pas fonctionner, puisque que le premier grep ne sort que la liste des fichiers !

    Désolé.

  6. #6
    Membre expert
    Avatar de pitipoisson
    Homme Profil pro
    Chercheur
    Inscrit en
    Septembre 2006
    Messages
    1 942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 942
    Points : 3 378
    Points
    3 378
    Par défaut
    Citation Envoyé par USA Mike Voir le message
    est-il possible d'afficher aussi la ligne ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep -R -H "^[^#]*print" .
    • l'option -l forçait grep à n'imprimer que les noms de fichiers => enlevée
    • l'option -H force grep à mettre le nom de fichier devant la ligne correspondante (ça peut servir)

  7. #7
    DIE
    DIE est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 101
    Points : 66
    Points
    66
    Par défaut
    en AWK j'ai essayé comme ça pour afficher le numéro de ligne
    plus les lignes qui ne commencent pas par # suivi qq part de print

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk '$0 !~ /^#.*print/ {printf NR " "; print}' *

  8. #8
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    347
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 347
    Points : 136
    Points
    136
    Par défaut ok
    awk '$0 !~ /^#.*print/ {printf NR " "; print}' *
    ne fonctionne pas quand il y a que des répertoires !

    grep -R -H "^[^#]*print" .
    fonctionne très bien merci, mais ça affiche hélas les lignes contentnat inprint. Oui je sais j'ai oublié de préciser que je voulais exclure non-seulement les # mais surtout celle qui contient un truc avant le 'print'

  9. #9
    Membre expert
    Avatar de pitipoisson
    Homme Profil pro
    Chercheur
    Inscrit en
    Septembre 2006
    Messages
    1 942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 942
    Points : 3 378
    Points
    3 378
    Par défaut
    Ah oui, les numéros de lignes !

    Avec grep, c'est simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep -R -H -n "^[^#]*print" . 2> /dev/null
    Au passage, j'ai redirigé la sortie d'erreur pour ne pas avoir tous les avertissements pour non-permission de lecture...

  10. #10
    Membre expert
    Avatar de pitipoisson
    Homme Profil pro
    Chercheur
    Inscrit en
    Septembre 2006
    Messages
    1 942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 942
    Points : 3 378
    Points
    3 378
    Par défaut
    Citation Envoyé par USA Mike Voir le message
    ...Oui je sais j'ai oublié de préciser que je voulais exclure non-seulement les # mais surtout celle qui contient un truc avant le 'print'
    Dans ce cas, il faut qu'il y ait un blanc devant print, à moins qu'il ne soit en début de ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    egrep -R -H -n "^([^#]*[[:blank:]]|)print" . 2> /dev/null
    (ou grep avec l'option -E)

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

Discussions similaires

  1. [XL-2003] Lister les fichiers protégés par mot de passe
    Par macat dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 27/10/2010, 11h04
  2. [XL-2003] lister les fichiers contenant des liens
    Par ouisansdoute dans le forum Excel
    Réponses: 1
    Dernier message: 11/06/2010, 17h26
  3. lister les fichiers non utilisés
    Par need2learn dans le forum Apache
    Réponses: 2
    Dernier message: 30/11/2008, 21h36
  4. Trouver les fichiers contenant un mot avec FINDSTR
    Par soazig dans le forum Windows XP
    Réponses: 4
    Dernier message: 26/04/2007, 14h29
  5. Lister les fichiers du répertoire contenant une applet
    Par uncle bobo dans le forum Applets
    Réponses: 1
    Dernier message: 05/05/2006, 16h55

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