OVH Cloud OVH Cloud

Compter un caractère

12 réponses
Avatar
ozzii23
Bonjour,

J'ai un probl=E8me:

Je n'arrive pas =E0 faire un script qui me permet de compter (ou
afficher) le nombre de fois que j'ai un caract=E8re dans une ligne et
tout cela pour tout mon script.
Je m'explique, ce que je voudrais c'est pouvoir v=E9rifier que j'ai bien
un nombre pair de "`" dans mes lignes de mon scipt. Donc il me faudrais
pour chaque ligne du script en entr=E9e mettre (ou afficher) le nombre
de caract=E8re.
ceci me permettrais de v=E9rifier la fonctionnalit=E9e du script.
Ce que =E0 quoi je pensais, c'est peut-=EAtre un sed =E0 l'enver (qui
enl=E8ve tous les autres caract=E8re que celui voulu).

Merci d'avance.

2 réponses

1 2
Avatar
Paul Gaborit
À (at) Thu, 07 Jul 2005 01:30:33 -1000,
DoMinix écrivait (wrote):
Paul, j'ai une alternative: :)

perl -lne '@t=/`/g;print "$.:".+@t if @t' < fichier

Affiche le numéro de ligne suivi du nombre de ` SI il y en a.


Comme d'habitude en Perl : TMTOWTDI ("there's more than one way to do
it")...

On peut même n'afficher que les lignes contenant un nombre impair de ` :

perl -lne '@t=/`/g;print "$.:".+@t if @t%2' < fichier

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>

Avatar
SauronDeMordor
SauronDeMordor écrit:

perl -lne 'print "$.: ", tr/`//'


oui ou grep -c ' <file>



ça donne le nombre de lignes avec un « ' ».

oups




1 2