Comment filtrer un resultat de recherche locate par repertoire.

Résolu
afrogodfather Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   -  
afrogodfather Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Je suis un administrateur systèmes pas très doué en développement et j'ai besoin d'aide.
J'ai une tache à effectuer qui consisterait à créer un script qui pourra faire une recherche et afficher uniquement les résultats qui se trouvent dans le répertoire /home/rep; répertoire dans lequel est stocké la majorité des documents.
En bref faire une recherche avec "locate" et éliminer les résultats se trouvant hors du répertoire /home/rep, car il peut y avoir des documents sensibles et faire un filtrage si les résultats sont énormes.
J'ai pu trouver la solution php pour faire une recherche par contre je ne parviens pas à filtrer les resultats et limiter les recherches à /home/rep.
Merci d'avance.

Je suis sous ubuntu 12.10
serveur apache2 et php5
A voir également:

3 réponses

zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
Salut,

Utiliser la commande "find" à la place de "locate" ?
1
afrogodfather Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   5
 
Merci pour ta réponse mais le soucis est que la commende find cherche un peu plus longtemps et passe "répertoire" après répertoire par contre "locate" va plus vite. On m'a imposé cela et je ne sais si le php pourrait le faire en empechant tout les repertoires /home/rep de s'afficher.
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
locate  -r "/home/rep/.*fichier"
0
afrogodfather Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   5
 
Merci dubcek je vais voir ce que ca donne,
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
tu peux peut être faire sinon une base de donnée de recherche par /home/rep, comme ça tu optimise réellement.
0
afrogodfather Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   5
 
En fait j'ai ceci comme code qui fonctionne bien avec "locate" mais qui manque de filtrage car il expose tout les répertoires du serveur. c'est pourquoi j'aimerai le limiter à /home/data. Et n'étant pas du tout doué en développement je me trouve coïncé, merci pour ton aide.

<html>
<body>
<pre>
<form action="#" method="get">
<input type="text" name="nom"/>
<input type="submit"/>
</form>
<?php

$nom=$_GET['nom'];
system("locate $nom | grep /");

?>
</pre>
</body>
</html>
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
locate -r regexp permet de filtrer à ce niveau
0
afrogodfather Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   5
 
Merci Dubcek et à vous autres le regexp marche bien. ca marche comme je voulais pour la première partie. il ne me reste plus qu'à l'introduire dans le script, vous êtes sympa
0