Outils pour utilisateurs

Outils du site


shell_faire_un_grep_sur_une_tres_longue_liste_de_fichiers

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

shell_faire_un_grep_sur_une_tres_longue_liste_de_fichiers [03/12/2010 07:27] (Version actuelle)
Ligne 1: Ligne 1:
 +{{tag>​shell grep liste fichier}}
 +====== Shell - Faire un grep sur une très longue liste de fichiers ======
  
 +La commande grep est une des plus utile dans les systèmes Unix / Linux. Mais souvent, j'ai eu comme problème d'​avoir une liste de fichier trop longue. Quand on veut faire une recherche de cette façon : <​code>​$ grep mot *</​code>​ si le répertoire courant contient trop de fichier, la commande ne passe pas car elle est trop longue. Du coup, j'​avais pour habitude de procéder ainsi : <​code>​$ find -type f -iname '​*.ext'​ --exec grep mot '​{}'​ \;</​code>​ Du coup de cette façon la liste complète des fichiers du répertoire n'est pas insérée dans ligne de commande et ne pose plus de problème. A part le fait que cela prend nettement plus de temps, cela pose aussi le problème que grep n'​affiche pas le nom du fichier étant donné qu'il s'agit de plusieurs grep lancer un après l'​autre sur un seul fichier. Pour résoudre ce problème, j'ai trouvé l'​argument « -H » qui permet de forcer l'​affichage du nom du fichier. Ce qui donne : <​code>​$ find -type f -iname '​*.ext'​ --exec grep -H mot '​{}'​ \;</​code>​
shell_faire_un_grep_sur_une_tres_longue_liste_de_fichiers.txt · Dernière modification: 03/12/2010 07:27 (modification externe)