Retourner aux forums || Retourner au forum Programmation.shell
je souhaitais faire une recherche de tout un certain type de fichier et voir leur taille. Pour cela j'ai benoitement tenté la commande
locate ".ext" | xargs ls -lh
Mais ca ne marche pas, j'ai un message d'erreur "unmatching single quotes". Alors je m'empresse de questionner mon ami Google
http://groups.google.com/groups?ie=utf-8&oe=utf-8&q=(...)
Et il me trouve plein de pages mais aucune ne contient le mot locate !!
Ce n'est que des questions sur find.
Alors est-ce que quelqu'un pourrait me venir en aide ?
ET accessoirement qui a une idée sur ce comportement étrange de Google, Bug ??
> Lire le message (11 commentaires, moyenne: 2,5).
amuse toi bien
find / -iname "*.ext" -exec ls -lh '{}' \;
-
[^]Re: amuse toi bien
Posté par Calim' Héros (Jabber id, page perso, ) le 21/10/2005 à 08:40. (lien). Évalué à 3.ou encore
locate -r '\.sh$' | xargs ls -lh
(chezmoicamarche.com locate etant un alias sur slocate)
Au passage si je met un "| wc -l" apres ces deux commandes, on note que le nombre de ligne n'est pas le meme ce qui est normal vu que j'ai des exclude dans mon /etc/updatedb.conf-
[^]Re: amuse toi bien
Posté par 桃白白 (page perso, ) le 21/10/2005 à 09:15. (lien). Évalué à 3.Ca n'a pas marché non plus,
Mais comme tu l'as justement souligné ca à l'air de venir de fichiers nommés comme des gorets.
Avec la commande suivante
locate .ext|while read i ; do ls -lh $i ; done
ca marche.
Sinon quelqu'un à une idée pour le bug de Google ?
-
RE : erreur du shell
Pour moi ce n'est pas une erreur de locate mais du shell (bash).
Mon avis est que parmi les fichiers trouvés par locate, tu en as un dont le nom contient une simple quote. xargs le passe à ls et ça le perturbe.
Mais je n'ai aucune idée de comment résoudre le problème. Pour chercher des fichiers, j'utilise plutôt
> find . -name "*.ext" -exec ls -lh '{}' ';'
C'est pas tout à fait équivalent. locate utilise une base de données, je crois...
-
[^]Re: RE : erreur du shell
Posté par 桃白白 (page perso, ) le 21/10/2005 à 08:46. (lien). Évalué à 3.
C'est pas tout à fait équivalent. locate utilise une base de données, je crois...
Oui locate utilise une base de donnés et donc est infiniment plus rapide que find. C'est comme si tu comparais Google Desktop et le truc de Windows pour chercher des fichiers.-
[^]Re: RE : erreur du shell
Posté par Calim' Héros (Jabber id, page perso, ) le 21/10/2005 à 08:50. (lien). Évalué à 2.Cependant il ne faut pas oublier que find est plus exhaustif que locate lequel peut etre configuré pour eviter de memoriser certains repoertoires et aussi n'est pas toujours a jour.
-
[^]Re: RE : erreur du shell
Posté par 桃白白 (page perso, ) le 21/10/2005 à 09:04. (lien). Évalué à 2.locate est un de mes meilleurs amis, j'épate mes collègues (Windowsiens) avec, j'arrive à trouver des fichiers perdus et/ou vieux de 3 ans. Si a chaque fois je dois m'amuser à faire des find sur 80Go de fichiers je ne m'en sortirait pas.
-
[^]Re: RE : erreur du shell
Posté par Calim' Héros (Jabber id, page perso, ) le 21/10/2005 à 09:14. (lien). Évalué à 2.Cependant il faut etre concient de ses limites.
Une petit cron bien placé pour le updatedb[1] et un updatedb.conf[2] aux petits ognoins et apres effectivement, c'est que du bonheure.
[1]toutes les nuit pour ma part
[2]etant sous gentoo je prefere exclures les repertoires de compilations et ccache...-
[^]Re: RE : erreur du shell
Posté par 桃白白 (page perso, ) le 21/10/2005 à 09:16. (lien). Évalué à 1.Je fais également un updatedb toutes les nuits.
-
-
-
-
tient ca m'apprendra...
a lire avant de repondre.
Donc, le pb du "unmatching single quotes" a été résolut dans ce thread la : http://linuxfr.org/forums/10/12030.html
ainsi que les histoires d'espaces.
Bonne lescture.
Google...
Il semble que les version avec locate arrive bien plus tard dans les pages. Cette utilitaire doit etre moins utiliser et donc moins repertorier et donc moins consulté et donc moins connu et donc moins utiliser et donc moins repertorier et donc moins consulté et donc moins connu et donc moins utiliser et donc moins repertorier et donc moins consulté et donc moins connu et donc moins utiliser et donc moins repertorier et donc moins consulté et donc moins connu et donc moins utiliser et donc moins repertorier et donc moins consulté et donc moins connu et donc moins utiliser et donc moins repertorier et donc moins consulté et donc moins connu et donc moins utiliser et donc moins repertorier et donc moins consulté et donc moins connu et donc moins utiliser et donc moins repertorier et donc moins consulté et donc moins connu et donc moins utiliser et donc moins repertorier et donc moins consulté et donc moins connu et donc moins utiliser...
Bref ca craint (mais bon il apparit genre en page 10)
Un truc de se genre semble plus pertinant (et encore) "locate (xargs OR ls)" => http://groups.google.com/groups?as_q=locate&num=10&s(...)
Revenir en haut de page || Retourner aux forums || Retourner au forum Programmation.shell



Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.