Forum Linux.debian/ubuntu Affichage commande

Posté par  .
Étiquettes : aucune
0
17
nov.
2008
Bonjour,

Voila je dois pour le bien d'un script, compter un nom de - que me renvoi une commande. Dans un premier temps j'isole la chaine que je souhaite qui est sous la forme par exemple:

wj------j----w------w---
Et de la je dois compter le nombre de -

Avez vous une idée ?

Merci d'avance
  • # sed et wc

    Posté par  . Évalué à 3.

    ouaip. quelque chose comme ça :
    echo wj------j----w------w--- | sed -e 's/[^-]//g' | wc -c

    en français, c'est remplacer tout ce qui n'est pas un tiret par rien, et compter ce qui reste.
    mais attention, ma proposition compte le retour chariot en plus des -

    Il y a peut-être un moyen de s'en sortir avec sed, mais je ne le connais pas. Sinon, ça peut se contourner en utilisant echo -n (plus généralement en travaillant avec des chaines de caractères sans retour chariot) ou en ôtant 1 du résultat
    • [^] # Re: sed et wc

      Posté par  . Évalué à 1.

      bon, je ne suis pas très content de mon retour chariot qui traîne, du coup, j'ai un truc un chouilla mieux à proposer :
      echo wj------j----w------w--- | tr -cd '-' | wc -c
  • # (grep AND wc) OR python

    Posté par  (site web personnel) . Évalué à 4.

    hopla

    echo "wj------j----w------w---" | grep -o "-" | wc -l

    ou sinon

    python -c "print 'wj------j----w------w---'.count('-')"

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.