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 06/12/2011, à 00:40

m2carabas

je ne comprends pas "find" [RESOLU]

salut à tous,

est-ce que vous pourriez m'expliquer, pourquoi "find" ne capte pas le dossier dans l'exemple suivant :

fredou@fredou-E520:~$ find /usr/share/lubuntu/ wallpapers
/usr/share/lubuntu/
/usr/share/lubuntu/openbox
/usr/share/lubuntu/openbox/menu.xml
/usr/share/lubuntu/openbox/rc.xml
/usr/share/lubuntu/qt
/usr/share/lubuntu/qt/Trolltech.conf
/usr/share/lubuntu/images
/usr/share/lubuntu/images/lubuntu-logo.png
/usr/share/lubuntu/images/logout-banner.png
/usr/share/lubuntu/wallpapers
/usr/share/lubuntu/wallpapers/1110-lubuntu-blue.jpg
/usr/share/lubuntu/wallpapers/1110-lubuntu-moth.png
/usr/share/lubuntu/wallpapers/lubuntu-default-wallpaper.png
/usr/share/lubuntu/wallpapers/1110-lubuntu-blue-wallpaper-with-logo.jpg
/usr/share/lubuntu/wallpapers/1110-natty-bug.png
/usr/share/lubuntu/wallpapers/1110-glass-beauty.jpg
/usr/share/lubuntu/leafpad
/usr/share/lubuntu/leafpad/leafpadrc
/usr/share/lubuntu/pcmanfm
/usr/share/lubuntu/pcmanfm/main.lubuntu
find: "wallpapers": Aucun fichier ou dossier de ce type

la biz.

(j'utilise Lubuntu 11.10 avec LXDE si ça a une importance)

Dernière modification par m2carabas (Le 07/12/2011, à 00:26)

Hors ligne

#2 Le 06/12/2011, à 04:23

sputnick

Re : je ne comprends pas "find" [RESOLU]

find /usr/share/lubuntu -name wallpapers
man find

On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#3 Le 06/12/2011, à 07:36

peyo78

Re : je ne comprends pas "find" [RESOLU]

salut
le pb c'est que tu as mis un espace après lubuntu/ :

find /usr/share/lubuntu/ wallpapers

donc find te retournes tt ce qu'il y a dans /usr/share/lubuntu/

mais si tu te contentes de :

find /usr/share/lubuntu/ -name wallpapers

find ne te retournera que le dossier nommé exactement wallpapers; c'est à dire le répertoire, et pas les fichiers

donc plus simple et plus efficace :

déjà, utiliser un caractère joker (*) pour indiquer à find que tu cherches "tous les fichiers contenant le mot wallpapers" ; tu entoures le terme de ta recherche de guillemets pour éviter que le shell n'interprète ce caractère spécial
donc au lieu de find -name wallpapers tu taperas : find -name ''*wallpapers*''

de plus, avec find tu n'as pas besoin de taper tout le chemin (find est justement fait pour retrouver qqch dont tu ne connais pas l'emplacement, sinon tu te contenterais de cd et ls) :

un exemple je fais une recherche chez moi sur le mot "maths"

peyo@peyo-desktop:~$ find -name "*maths*"
./Documents/EFC/maths.tex
./Documents/EFC/maths_financieres

find me retourne bien les deux docs qui contiennent le mot maths

A+ smile

Dernière modification par peyo78 (Le 06/12/2011, à 10:03)

Hors ligne

#4 Le 06/12/2011, à 12:01

peyo78

Re : je ne comprends pas "find" [RESOLU]

sputnick  a raison, faut toujours allez voir le man... wink

mieux que -name, utiliser -iname qui est insensible à la casse :

peyo@peyo-desktop:~$ find -iname "*math*"
./.libreoffice/3/user/config/soffice.cfg/modules/smath
./Documents/EFC/maths.tex
./Documents/EFC/Maths_S17.gnumeric
./Documents/EFC/Maths_S19.gnumeric
./Documents/EFC/maths_financieres

sort tous les résultats sur *math* quel que soit la façon dont ce mot est écrit dans les noms de fichiers

si tu avais un fichier Wallpaper au milieu de pleins de fichiers wallpaper, find -name ne te le montrerait pas : find -iname, si.

Dernière modification par peyo78 (Le 06/12/2011, à 12:01)

Hors ligne

#5 Le 07/12/2011, à 00:24

m2carabas

Re : je ne comprends pas "find" [RESOLU]

super, merci à vous deux.

Hors ligne