PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Forums Hébergement > Forum Serveur - Sécurité et techniques > fr.comp.os.unix > compter le nombre de fichier texte contenant...
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
fr.comp.os.unix Système UNIX.

compter le nombre de fichier texte contenant...

Réponse
 
LinkBack Outils de la discussion
Vieux 01/03/2006, 08h25   #1
Mikael
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut compter le nombre de fichier texte contenant...

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
  Réponse avec citation
Vieux 01/03/2006, 08h33   #2
Stephane Chazelas
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: compter le nombre de fichier texte contenant...

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
  Réponse avec citation
Vieux 01/03/2006, 08h37   #3
Mikael
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: compter le nombre de fichier texte contenant...

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
  Réponse avec citation
Vieux 01/03/2006, 08h56   #4
Stephane Chazelas
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: compter le nombre de fichier texte contenant...

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
  Réponse avec citation
Vieux 01/03/2006, 09h03   #5
Stephane Dupille
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: compter le nombre de fichier texte contenant...

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 -+-
  Réponse avec citation
Vieux 01/03/2006, 09h50   #6
Stephane Chazelas
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: compter le nombre de fichier texte contenant...

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
  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 22h19.


Édité par : vBulletin® version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières ©2000-2008
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,16604 seconds with 14 queries