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

Linux Discussion :

Trouver fichier ne contenant pas une chaine


Sujet :

Linux

  1. #1
    Membre averti
    Inscrit en
    Mars 2003
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 32
    Par défaut Trouver fichier ne contenant pas une chaine
    Bonjour,

    Pour trouver le nom d'un fichier contenant une chaine je fais :

    grep -l "$tag" ${LISTE_FIC[*]} >> $ResultatTmp1

    LISTE_FIC est la liste de fichiers dans lesquels la recherche est effectuée.

    Par contre je n'ai pas trouvé l'option grep qui permette de faire l'inverse, cad afficher les nom des fichiers ne contenant pas $tag.

    j'ai vu une option -L mais elle n'est pas acceptée pour mon shell...

    Merci

  2. #2
    Membre Expert
    Avatar de narmataru
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 548
    Par défaut
    bonjour,
    il me semble que la commande -v inverse le résultat de grep

  3. #3
    Membre averti
    Inscrit en
    Mars 2003
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 32
    Par défaut
    c'est vrai mais du coup le grep me renvoie les ligne ou ma chaine n'est pas presente et mets donc le nom du fichier dans mon fichier de resultat....

  4. #4
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 287
    Par défaut
    Hum. Une piste. Tu fais ton grep, tu obtiens une liste de fichiers, tu la tries si besoin est et tu compares le tout au résultat de ls ?
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  5. #5
    Expert confirmé
    Avatar de becket
    Profil pro
    Informaticien multitâches
    Inscrit en
    Février 2005
    Messages
    2 854
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien multitâches
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 2 854
    Par défaut
    Pourquoi pas un truc simple avec awk ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     for file in $( LISTEOFFILE ) 
    do 
    awk 'REGOK="FALSE"{ if ($0 ~ "STRINGARECHERCHER"){  REGOK="TRUE" } } END{ if ( REGOK!="TRUE" ) print FILENAME } ' $file 
    done

  6. #6
    Membre averti
    Inscrit en
    Mars 2003
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 32
    Par défaut
    Ben oui ca m'a l'air tres bien ca ! merci

    Par contre la condition :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if ($0 ~ "stringarechercher")
    [/quote]
     
    me donne une syntax error. comprends pas...[/i]

  7. #7
    Membre Expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Par défaut
    Si ton grep n'accepte pas le -L, selon les autres options qu'il accepte, il y a peut être moyen de s'en tirer :
    - Limité en profondeur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep -svlH "$tag" ${LISTE_FIC
  8. }

+ Répondre à la discussion
ActualitésFAQ LINUXTUTORIELS LINUXOUTILS LINUXLIVRES LINUXLINUX TVUNIXGTK+QtAPACHEOPEN SOURCE

Discussions similaires

  1. [RegEx] Trouver les lignes ne contenant pas une expression
    Par venturi dans le forum Langage
    Réponses: 6
    Dernier message: 14/08/2013, 17h52
  2. [RegEx] <img ne contenant pas une autre chaine
    Par qdaemon_fr dans le forum Langage
    Réponses: 4
    Dernier message: 15/11/2010, 10h15
  3. [RegEx] Sous-masque ne contenant pas une chaine
    Par Gruik dans le forum Langage
    Réponses: 3
    Dernier message: 25/07/2009, 20h49
  4. Réponses: 10
    Dernier message: 02/04/2008, 21h23
  5. [RegEx] Trouver certains mots entre [] dans une chaine de caractères
    Par Prosis dans le forum Langage
    Réponses: 3
    Dernier message: 22/10/2007, 21h52

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