[ksh] comper les points virgules

Résolu
Bonjour à tous,
comment est-ce que je peut compter le nombre de points virgules dans une chaine?

Exemple:

1;JOBi;JUJU;5222;14875;Malicorne;

Résultat souhaité:</souligne>
6

Merci d'avance.
^^
Configuration: Windows XP
Firefox 3.0.1

9 réponses

  1. Bonjour,

    tu souhaiterais utiliser quel langages pour resoudre ton probleme? une regxp en java serais assez simple sinon
    1. En Ksh
      ^^
  2. Modérateur
    Salut,
    $ echo "1;JOBi;JUJU;5222;14875;Malicorne;" | grep -o ";" | wc -l
    6
    ;-))
    1. J'ai recopié exactement ta réponse et il me donne :
      grep: illegal option -- o
      usage: grep [-E|-F] [-c|-l|-q] [-bhinsvx] -e pattern_list...
              [-f pattern_file...] [file...]
      usage: grep [-E|-F] [-c|-l|-q] [-bhinsvx] [-e pattern_list...]
              -f pattern_file... [file...]
      usage: grep [-E|-F] [-c|-l|-q] [-bhinsvx] pattern [file...]
      0
      

      ^^
      1. Vous n'avez pas d'idées sur ce qui cause cette erreur?
        1. Contributeur
          essaye
          echo "1;JOBi;JUJU;5222;14875;Malicorne;" | sed -e "s/[^;]//g" | wc -c
          1. Cela me donne 7 mais c'est déjà super car je vais pouvoir l'adapter dans mon code.
            Merci à vous.
            ^^
            1. Contributeur
              wc -c comptant le nombre de caractères, il doit compter le saut de ligne
              1. Modérateur
                Re-
                echo "1;JOBi;JUJU;5222;14875;Malicorne;" | sed 's/[^;]/ /g' | wc -w
                ;-))
                1. Merci jpicy cela fonctionne et merci dubcek pour ton aide et tes explications