Comment filtrer un resultat de recherche locate par repertoire. [Résolu/Fermé]

Signaler
Messages postés
16
Date d'inscription
mardi 21 août 2012
Statut
Membre
Dernière intervention
18 mars 2013
-
Messages postés
16
Date d'inscription
mardi 21 août 2012
Statut
Membre
Dernière intervention
18 mars 2013
-
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

3 réponses

Messages postés
35932
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
3 décembre 2020
5 701
Salut,

Utiliser la commande "find" à la place de "locate" ?
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 76687 internautes nous ont dit merci ce mois-ci

Messages postés
16
Date d'inscription
mardi 21 août 2012
Statut
Membre
Dernière intervention
18 mars 2013
3
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.
Messages postés
18240
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
30 novembre 2020
5 112
hello
locate  -r "/home/rep/.*fichier"
Messages postés
16
Date d'inscription
mardi 21 août 2012
Statut
Membre
Dernière intervention
18 mars 2013
3
Merci dubcek je vais voir ce que ca donne,
Messages postés
9688
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
2 octobre 2020
1 222
tu peux peut être faire sinon une base de donnée de recherche par /home/rep, comme ça tu optimise réellement.
Messages postés
16
Date d'inscription
mardi 21 août 2012
Statut
Membre
Dernière intervention
18 mars 2013
3
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>
Messages postés
18240
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
30 novembre 2020
5 112
locate -r regexp permet de filtrer à ce niveau
Messages postés
16
Date d'inscription
mardi 21 août 2012
Statut
Membre
Dernière intervention
18 mars 2013
3
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