• [^] # Re: find -size / grep -w

    Posté par . En réponse au message recherche mot dans fichiers ascii. Évalué à 1.

    Voici ma version :

    find . -size -1000k -type f -print0 2>/dev/null | xargs -0 -l10 grep -wiIl toto

    explications :
    find .rechercher dans le dossier courant
    -size 1000kles items de moins de 1000ko (chez moi non plus, "-1M" ne fonctionne pas correctement)
    -type fqui sont des fichiers
    -print0afficher le résultat avec le caractère NULL comme séparateur (moins de pb avec les noms de fichiers bizarres)
    2>/dev/nullne pas afficher les erreurs (accès au fichier interdit, etc)

    xargsprendre les résultats de la commande précédente et les ajouter en arguments de la commande suivante
    -0les résultats sont séparés par le caractère NULL
    -l10(optionnel, utile si tu as énormément de fichiers) traiter 10 résultats à la fois au lieu de tous à la fois

    grep toto rechercher la chaine toto
    -wseulement si la chaîne recherchée est un mot entier (ignorera les correspondances à l'intérieur d'un mot)
    -iignorer la casse
    -Iignorer les fichiers binaires
    -lafficher le nom de fichier s'il y a correspondance, et seulement le nom de fichier

    En jouant avec ça ça fonctionne dans la plupart des situations.