« set -o vi : Historique des commandes UNIX | Main | Samba entre hote windows et machine virtuelle vmware »
mardi, juillet 12, 2005
"find" : Recherche plein texte recursive dans les sous repertoire unix
Pour faire l'équivalent d'un "Rechercher" appliqué au sous répertoires
d'un repertoire donné,
voici comment faire sous Unix/Linux:
2 solutions:
1) la comande combinée avec "exec":
$find . -exec grep "toto" * '{}' \; -print
Cette commande recherche le mot "toto" dans le contenu de ts les fichier du répertoire courant et des sous-répertoires.
(Attention: ne pas oublier l'espace apres la quote de l' accolade) (Attention: ne pas oublier l'espace apres la quote de l' accolade)
La commande find est tres puissante, elle permet egalement de faire des recherhe par rapport a un nom de fichier, à un type de fichier,
Exemples:
$find . -name arti* -print
recherche tous les fichiers ou repertoire contenant la chaine "arti" dans leur nom.
$find /tmp -type d
recherche tous les repertoires (d-irectory) contenus dans /tmp
2) la boucle (ca impressionne tjs)
$for i in `ls`<entrée>
do<entrée>
cd
$i<entrée>
grep "motcherche" *<entrée>
cd ..<entrée>
done<entrée>
Attention: Cete solution ne marche que: si à partir du repertoire courant il n'y a que des sous repertoires qui ne contiennent que des fichiers !
Modifié le: jeudi, juillet 14, 2005 15:13
Categories: Trucs et Astuces Linux/Unix