Find et grep

find -name "*" -exec grep "Adr_character_battle_limit" {} \; -print 2>/dev/null

C’est une commande Linux qui permet de chercher des morceaux de texte dans des fichiers.
Description :
find -name « * » => Recherche les fichiers, à partir du répertoire courant et dans les sous-répertoires, qui correspond à l’expression rationnelle qui se trouve entre les 2 doubles cotes, ici, ‘*’ c’est-à-dire tous les fichiers (et répertoires inclus)
-exec grep « Adr » {} \; => Pour chaque fichier trouvé, exécuter la commande ‘grep’, qui permet de chercher dans un fichier texte, la ligne de texte qui contient une chaine de caractère qui correspond à l’expression rationnelle qui se trouve entre les 2 doubles cotes, ici, ‘Adr’, puis affiche la ligne du fichier. ‘{}’ représente le fichier actuellement traité
-print => Affiche le fichier actuellement traité
2>/dev/null => (Voilà l’astuce) Comme dit précédemment, la commande ‘find -name’ cherche les fichiers ainsi que les répertoires. La fonction ‘grep’ ne fonctionnant pas sur un répertoire, elle affiche donc une erreur, de même si ‘grep’ ne trouve rien dans un fichier, elle affiche un ‘not found’. Le ‘2>/dev/null’ envoi les erreurs et warning dans ‘/dev/null’, n’affiche rien à l’écran.

Comments are closed, but trackbacks and pingbacks are open.