|
|
|
|
||||||
| fr.comp.os.unix Système UNIX. |
![]() |
|
|
LinkBack | Outils de la discussion |
|
|
#1 |
|
Messages: n/a
Hébergeur: |
Bonjour,
Je cherche à compter le nombre de fichier de sessions php contenant une chaine 'candidat' et je sèche sur ce problème. Auriez vous une suggestion ? Merci d'avance, Mikael |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
2006-03-01, 09:25(+01), Mikael:
> Bonjour, > > Je cherche à compter le nombre de fichier de sessions php contenant une > chaine 'candidat' et je sèche sur ce problème. [...] find .//. -name '*.php' -type f -exec grep -Fl candidat {} + | grep -c // -- Stéphane |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
Mikael a écrit :
> Bonjour, > > Je cherche à compter le nombre de fichier de sessions php contenant une > chaine 'candidat' et je sèche sur ce problème. J'ai trouvé. find . -type f -exec grep -c candidat {} \; | awk '{ total += $1} END {print total; }' Mikael |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
2006-03-01, 09:37(+01), Mikael:
> Mikael a écrit : >> Bonjour, >> >> Je cherche à compter le nombre de fichier de sessions php contenant une >> chaine 'candidat' et je sèche sur ce problème. > > J'ai trouvé. > > find . -type f -exec grep -c candidat {} \; | awk '{ total += $1} END > {print total; }' [...] Ah, tu cherchais le nombre lignes contenant "candidat" find . -type f -exec cat {} + | grep -c candidat ca evitera de lancer un grep par fichier. Si tu cherchais le nombre d'occurrences de "candidat", tu pourrais faire: find . -type f -exec cat {} + | awk ' {n += gsub(/candidat/, "")} END {print n+0}' (Si un fichier se termine par "can" (sans saut de ligne) et le suivant commence par "didat" par exemple, tu peux avoir un resultat erronné) -- Stéphane |
|
|
|
#5 |
|
Messages: n/a
Hébergeur: |
Stephane Chazelas <cette.adresse@est.invalid> écrit :
>> Bonjour, Salut ! >> Je cherche à compter le nombre de fichier de sessions php contenant une >> chaine 'candidat' et je sèche sur ce problème. > find .//. -name '*.php' -type f -exec grep -Fl candidat {} + | > grep -c // Pourquoi les slashs dans le find dans './/.' ? Et je crois que mon find (FreeBSD 4) ne comprends pas la syntaxe de d'exec avec le +. Sinon, je proposerais : find . -name '*.php' -print | xargs grep -l candidat | wc -l -- Salut,Je m'appele sed.je suis etudiant en communication, j'ai lu votre message.je viens vous dire un petiit bonjour,et vous laisser mon adresse mél: vous pouvez me repondre maintenant si vous étez conecter. -+-<http://www.le-gnu.net> - La com', elle ne passera pas par moi -+- |
|
|
|
#6 |
|
Messages: n/a
Hébergeur: |
On Wed, 01 Mar 2006 10:03:24 +0100, Stephane Dupille wrote:
> Stephane Chazelas <cette.adresse@est.invalid> écrit : >>> Bonjour, > > Salut ! > >>> Je cherche à compter le nombre de fichier de sessions php contenant une >>> chaine 'candidat' et je sèche sur ce problème. >> find .//. -name '*.php' -type f -exec grep -Fl candidat {} + | >> grep -c // > > Pourquoi les slashs dans le find dans './/.' ? Je ne veux compter les fichiers qu'une fois, donc ne compter que ce que je suis sur de trouver une fois par fichier. Si je compte les lignes, je vais compter plusieurs fois les fichiers qui contiennent des sauts de ligne. > Et je crois que mon find (FreeBSD 4) ne comprends pas la syntaxe de > d'exec avec le +. Un find POSIX ou Unix doit l'avoir. J'imagine que la derniere version de FreeBSD doit l'avoir. Je crois que la Single Unix Specification version 2 ne l'avait pas, SUSv3 l'a. C'est peut-etre dans POSIX depuis des decennies, mais comme il n'etait pas publique avant qu'il merge avec SUS, qui sait... > Sinon, je proposerais : > find . -name '*.php' -print | xargs grep -l candidat | wc -l La, non seulement, ca ne marche pas avec les fichiers qui contiennent des newlines, mais aussi avec ceux qui contiennent des espaces, tabulations, simple quotes, doubles quotes et backslashs. xargs attend un format bien particulier d'input, le format d'output de find n'est pas compatible (a moins d'utiliser -print0/-0 mais ce n'est pas standard (GNU et BSD only)). -- Stephane |
|
![]() |
| Outils de la discussion | |
|
|