Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 07/06/2012, à 12:20

Christophe C

[résolu] Niveaux de recherche de find dans les sous-répertoires

Passer comme répertoire le répertoire user (~) ne semble générer qu'une recherche sur le rep courant et les sous-rep cachés, pas dans les autres rep, ce qui semble bizarre.

Exemple, j'ai un fichier /home/chris/Documents/divers/mon-cv.csv

Si je fais un

find ~ -type f -iname *cv*

: il ne trouve pas. Par contre un

find ~/Documents/ -type f -iname *cv*

, il trouve.

Ca me parait bizarre, et surtout ça ne m'arrange pas. Comment trouver mes fichiers en tapant dans le rep user (~) et ses sous-rep, idéalement sans taper dans les sous-répertoires cachés ?

Dernière modification par Christophe C (Le 09/06/2012, à 07:22)


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».

Hors ligne

#2 Le 07/06/2012, à 12:39

pingouinux

Re : [résolu] Niveaux de recherche de find dans les sous-répertoires

Bonjour,

find ~ -type f -iname "*cv*"

Il doit y avoir un fichier qui a causé l'expansion de *cv* dans ~ .
Pour le vérifier :

ls -d ~/*cv*

Ajouté : Cette explication n'est pas la bonne, car dans ce cas, find aurait au moins dû trouver un fichier (voir #7 et #8).

Dernière modification par pingouinux (Le 08/06/2012, à 07:07)

Hors ligne

#3 Le 07/06/2012, à 17:24

incises

Re : [résolu] Niveaux de recherche de find dans les sous-répertoires

Cela me paraît vraiment curieux, ce n'est pas le fonctionnement normal de find qui cherche dans les sous-répertoires récursivement. Ta commande chez moi explore tout mon répertoire personnel quand tapée dans celui-ci et me trouve tous les fichiers dont le nom contient 'cv'.
EDIT et par parenthèses je ne suis pas sûr de comprendre ce que veut dire pingouinux... la présence d'un fichier dont le nom a la forme *cv* dans le répertoire personnel n'empêche normalement pas find de trouver d'autres fichiers du même genre ailleurs dans l'arborescence.

Dernière modification par incises (Le 07/06/2012, à 17:26)

Hors ligne

#4 Le 07/06/2012, à 17:41

pingouinux

Re : [résolu] Niveaux de recherche de find dans les sous-répertoires

incises #3 a écrit :

la présence d'un fichier dont le nom a la forme *cv* dans le répertoire personnel n'empêche normalement pas find de trouver d'autres fichiers du même genre ailleurs dans l'arborescence

Imaginons que le répertoire ~ contienne le fichier ficverole. Cette commande

find ~ -type f -iname *cv*

après expansion, va devenir

find ~ -type f -iname ficverole

et la commande cherchera tous les fichiers de nom ficverole dans l'arborescence, et rien d'autre.

C'est pour cela qu'il faut utiliser :

find ~ -type f -iname "*cv*"

ou

find ~ -type f -iname \*cv\*

Hors ligne

#5 Le 08/06/2012, à 05:40

Christophe C

Re : [résolu] Niveaux de recherche de find dans les sous-répertoires

Non

find ~ -type f -iname *cv*

ou

find ~ -type f -iname "*cv*"

ou

find ~ -type f -iname \*cv\*

ne marchent pas

find ~/Documents/ -type f -iname *cv*

fonctionne

Incidement, un

find ~ | grep cascade

me sort les fichiers avec "cascade" qui sont dans les sous-répertoires cachés, mais pas dans ceux qui ne sont pas cachés (qui existent bien).

je suis sous xubuntu 12.04.

Dernière modification par Christophe C (Le 08/06/2012, à 05:40)


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».

Hors ligne

#6 Le 08/06/2012, à 06:01

pingouinux

Re : [résolu] Niveaux de recherche de find dans les sous-répertoires

@Christophe C  #5 : Alors là, j'en perds mon latin. Tu as bien accès à tous les répertoires et sous-répertoires de l'arborescence (permissions de lecture et d'exécution) ?

Hors ligne

#7 Le 08/06/2012, à 06:18

Christophe C

Re : [résolu] Niveaux de recherche de find dans les sous-répertoires

Oui.

Mais en prenant ma douche (ça stimule mes neurones :-) ), je me suis souvenu que ce répertoire Documents/ est en fait un lien symbolique vers un autre rep sur une autre partition, montée au démarrage. Pas de problème pour les droits, mais n'y aurait-il pas un problème lié à ce lien. Désolé de ne pas en avoir parle plus tôt, mais c'est tellement ancien que je n'y pense jamais.


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».

Hors ligne

#8 Le 08/06/2012, à 06:35

pingouinux

Re : [résolu] Niveaux de recherche de find dans les sous-répertoires

Il faut dans ce cas ajouter à find l'option -L, pour suivre les liens symboliques.

find -L ~ -type f -iname "*cv*"

Hors ligne

#9 Le 08/06/2012, à 07:51

incises

Re : [résolu] Niveaux de recherche de find dans les sous-répertoires

pingouinux a écrit :
incises #3 a écrit :

la présence d'un fichier dont le nom a la forme *cv* dans le répertoire personnel n'empêche normalement pas find de trouver d'autres fichiers du même genre ailleurs dans l'arborescence

Imaginons que le répertoire ~ contienne le fichier ficverole. Cette commande

find ~ -type f -iname *cv*

après expansion, va devenir [...]


Oui pingouinux, je n'avais pas prêté attention au fait que notre interlocuteur Christophe C. avait omis les guillemets dans sa commande (je mets toujours les guillemets et je les avais replacées dans la mienne sans voir que je m'écartais de ce qu'il avait fait...). Suis allé trop vite en besogne comme souvent...

Dernière modification par incises (Le 08/06/2012, à 07:56)

Hors ligne

#10 Le 09/06/2012, à 07:22

Christophe C

Re : [résolu] Niveaux de recherche de find dans les sous-répertoires

ok, merci beaucoup, ça marche enfin.

Je m'en veux de ne pas avoir pensé à cette histoire de lien symbolique, c'est tellement évident.


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».

Hors ligne