Guido Socher L'auteur: Aime Linux car c'est un syst�me gratuit et appr�cie les beaucoup les relations avec la communaut� Linux � travers le monde. Il passe son temps libre avec sa petite amie, � �couter les services internatiaunaux de la BBC, roule � bicyclette dans la campagne et adore jouer avec Linux
Sommaire: |
Trouver des fichiersR�sum�: Cet article est une introduction sur les recherches de fichiers d'apr�s leur nom ou leur contenu. Trouver des fichiers d'apr�s leur nomVous avez surement d�j� �t� confront� � ce type de probl�mes: vous aviez un fichier un peu particulier et vous ne savez plus o� il est. C'est l� que la commande find vient � point. Comment l'utiliser? find est bien sur accompagn� d'une grande page de manuel, mais jetons un coup d'oeil � quelques "cas normaux ". Pour rechercher un fichier nomm� lostfile.txt � partir du r�pertoire courant et dans toute son l'arborescence:
find comprend aussi les jokers. N'oublier pas les guillemets sinon l'interpreteur essaiera de les remplacer avant que find ne les lise. Voici un exemple:
Cette commande peut être plutôt lente si la recherche a lieu dans une grande arborescence. La commande locate s'av�rera alors utile. Elle ne cherche pas vraiment un fichier dans le syst�me, mais dans une base de donn�e. C'est beaucoup plus rapide mais la base de donn�e peut ne pas être � jour. Dans certaines distributions, la base located est mise � jour toutes les nuits mais vous pouvez bien sûr utiliser manuellement la commande updatedb de temps en temps afin d'effectuer la mise � jour de la base. locate effectue des recherches de sous-chaînes.
Ce qui trouvera les fichiers lostfile.txt ou mylostfile.txt etc... Jusqu'ici, nous avons recherch� des fichiers dont nous en connaissions exactement le nom. Peut être que le fichier n'�tait pas lostfile.txt mais lastfile.txt ou leastfile.txt et vous ne vous souvenez plus exactement du nom. Comment le retrouvez quand même? Dans ce cas, il faut utiliser un utilitaire tol�rant les fautes appel� ftff. Il recherche un fichier et autorise un certain nombre "d'erreur typographiques". Cette commande trouvera tous ces noms de fichiers l�g�rement "mal orthographi�s":
Le nombre d'erreurs autoris�es d�pend de la longueur du fichier mais peut aussi être fix�e avec l'option -t. Pour autoriser au maximum 2 erreurs et aussi utiliser un joker, tapez:
Ftff est un programme de ma conception et fait partie d'un paquetage appell� whichman-1.4 qui peut être t�l�charg� depuis sunsite.unc.edu/pub/Linux/apps/doctools/whichman-1.4.tar.gzParfois, vous voudriez trouver des fichiers dans un arbre dont le nom ne contient pas certains caract�res. Par exemple tous les fichiers exept� les .o et .c. Voici quelques fa�on de le faire:
Vue g�n�rale du syst�me de fichierVous pouvez avoir besoin d'une vue g�n�rale du syst�me de fichier � votre disposition. Par exemple, vous avez un nouveau CD et vous voudriez savoir ce qu'il y a dessus. Vous pourriez simplement utiliser ls -R. Personellement, je pr�f�re la solutions suivante par soucis de clart�: tree ( sunsite.unc.edu/pub/Linux/utils/file/tree-1.2.tgz ) dessine un arbre.
Bien sûr il y a aussi le bon vieux find. La version gnu de find est, g�n�ralement fournie avec Linux, et permet aussi de changer le format d'impression afin, par exemple, d'imprimer la taille du fichier avec son nom:
Il existe aussi un habillage perl de la commande ls qui effectue des choses similaires. Il peut être charg� depuis cet endroit: lsperl.gz. Vous trouverez surement d'autres outils de recherche de fichiers, mais ceux l� sont suffisants dans la majorit� des cas. Trouver des fichiers d'apr�s leur contenu (rechercher des chaînes de caract�res dans les fichiers)L'utilitaire standard de recherche de chaînes dans les fichiers est grep/egrep pour les expressions r�guli�res et fgrep pour les chaînes litt�rales. Pour chercher une expression dans tous les fichiers du r�pertoire courant, tapez:
Pour rechercher des chaînes dans tous les fichiers de la descendance du r�pertoire courant, vous pouvez combiner find ou un autre outils de recherche de noms de fichiers avec, par exemple, egrep. Il y a plusieurs fa�on de le faire:
Si cela vous semble difficile � m�moriser, vous pouvez t�l�charger un petit script depuis ici: grepfind.gz. Il s'assure aussi que les caract�res non imprimables sont retir�s au cas ou egrep aurait travers� un fichier binaire. Un programme tr�s interessant est agrep. Il marche � la base comme egrep mais effectue des recherches tol�rant les fautes. de la sorte, vous pouvez trouver des mots l�g�rement mal orthographi�s. Pour rechercher une expression et autoriser un maximum de 2 erreurs, utilisez:
Le programme agrep peut être charg� depuis sunsite sunsite.unc.edu/pub/Linux/utils/text/agrep-2.04.tar.Z ou le site original ftp://ftp.cs.arizona.edu/agrep/ Il y a aussi glimpse. C'est un utilitaire de recherche tr�s puissant qui utilise un concept similaire � locate. D'abord, une base de donn�e doit être construite, mais alors, les recherches sont tr�s rapides. Pour construire un index de recherche de tous les fichiers du r�pertoire courant et de sa descendance:
Apr�s cela, vous pouvez chercher une chaîne dans tous les fichiers qui ont �t� pr�c�dement index�s
glimpse accepte aussi les fautes (comme agrep) et le -2 autorise deux erreurs. glimpse est disponible � http://glimpse.cs.arizona.edu/ Il y a beaucoup d'utilitaires de recherche disponibles pour Unix et particuli�rement pout Linux. Cet article ne se veut pas exhaustif. Si vous êtes interess� par plus de trucs et astuces ou d'autres utilitaires comme ceux que nous avons d�crits, regardez les fichiers .lsm � http://sunsite.unc.edu/pub/Linux/utils Amusez vous bien, bonnes recherches. |
Traduit par JohnPerr
Ce site web est maintenu par Miguel Angel Sepulveda © Guido Socher 1998 LinuxFocus 1998 |