IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

(shell) trouver l'occurence d'un caractère dans une chaine de caractère


Sujet :

Linux

  1. #1
    Nouveau membre du Club
    Inscrit en
    Septembre 2006
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 51
    Points : 28
    Points
    28
    Par défaut (shell) trouver l'occurence d'un caractère dans une chaine de caractère
    Bonjour,
    J'ai un problème en shell.

    je souhaite trouver le nombre d'occurence d'un caractère précis dans une chaine de caractère.

    Exemple : j'ai la chaine suivante : TOTO|TITI|TATA

    Je veux savoir combien de fois j'ai | dans la chaine.

    Merci d'avance


  2. #2
    Membre éprouvé
    Avatar de f-k-z
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Juin 2006
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2006
    Messages : 403
    Points : 928
    Points
    928
    Par défaut
    Yop,
    avec ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tr -d -c "\|" < truc.txt |wc -c
    avec truc qui contient ta chaine

    F-k-z
    GNU/Linux c'est une question de VI ou de MORE.
    http://www.goodbye-microsoft.com
    "Linux is user friendly, its just very selective of its friends*", m'enfou, je suis son pote :p

    Un post vous est utile ou est constructif, ayez le réflexe du +1 pour le contributeur ( C'est gratuit et ça donne l'impression d'être utile :p )
    Le tag et la ne sont pas fait que pour le décor, pensez-y !
    R.I.P. F-k-z 13/06/2006 - 12/10/2011
    *Linux est convivial, il est juste très sélectifs pour ses amis.

  3. #3
    Membre averti Avatar de AL1986
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 434
    Points : 441
    Points
    441
    Par défaut
    Salut,
    Dans linux, tu peux combiner les commandes tr et wc comme suit
    Code Shell : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $TaChaine | tr -d -c "\\124" | wc -c
    Explication:
    tr -d ListeDeCaractères : supprime tous les carctères de la chaîne se trouvant dans ListeDeCaractères.
    tr -d -c ListeDeCaractères : agit sur le complément donc supprime tous les carctères de la chaîne ne figurant pas dans ListeDeCaractères.
    Dans ton cas : suppression de tous ce qui n'est pas 124 (124 est le code ascii en décimal de |)
    wc -c : compte le nombre de carctères.
    Dans ton cas, seuls les | resteront à compter.
    Etre ou ne pas être, telle est la question sinusoïdale de l'anachorète hypocondriaque et vice et versa .
    Bonsai monsieur, bonsai madame, vous avez gagnez un milliard de degrés au soleil .
    There is no cure for stupidity (ou pas ).

  4. #4
    Membre éprouvé
    Avatar de f-k-z
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Juin 2006
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2006
    Messages : 403
    Points : 928
    Points
    928
    Par défaut
    Citation Envoyé par AL1986
    Salut,
    Dans linux, tu peux combiner les commandes tr et wc comme suit
    Code Shell : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $TaChaine | tr -d -c "\\124" | wc -c
    Explication:
    tr -d ListeDeCaractères : supprime tous les carctères de la chaîne se trouvant dans ListeDeCaractères.
    tr -d -c ListeDeCaractères : agit sur le complément donc supprime tous les carctères de la chaîne ne figurant pas dans ListeDeCaractères.
    Dans ton cas : suppression de tous ce qui n'est pas 124 (124 est le code ascii en décimal de |)
    wc -c : compte le nombre de carctères.
    Dans ton cas, seuls les | resteront à compter.
    même chose que moi grosso modo, a la différance que je suis pas passé par le code ascii
    GNU/Linux c'est une question de VI ou de MORE.
    http://www.goodbye-microsoft.com
    "Linux is user friendly, its just very selective of its friends*", m'enfou, je suis son pote :p

    Un post vous est utile ou est constructif, ayez le réflexe du +1 pour le contributeur ( C'est gratuit et ça donne l'impression d'être utile :p )
    Le tag et la ne sont pas fait que pour le décor, pensez-y !
    R.I.P. F-k-z 13/06/2006 - 12/10/2011
    *Linux est convivial, il est juste très sélectifs pour ses amis.

  5. #5
    Membre averti Avatar de AL1986
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 434
    Points : 441
    Points
    441
    Par défaut
    En Fait, je pense que j'écrivais mon message quand tu as posté le tien.
    Etre ou ne pas être, telle est la question sinusoïdale de l'anachorète hypocondriaque et vice et versa .
    Bonsai monsieur, bonsai madame, vous avez gagnez un milliard de degrés au soleil .
    There is no cure for stupidity (ou pas ).

  6. #6
    Membre éprouvé
    Avatar de f-k-z
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Juin 2006
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2006
    Messages : 403
    Points : 928
    Points
    928
    Par défaut
    Possible, en meme tps, on ets d'accord sur la solution, donc c'est bon
    et en prime on lui fait voir deux possibilités avec la meme commande, soit le code ascii soit le caractere ^^
    GNU/Linux c'est une question de VI ou de MORE.
    http://www.goodbye-microsoft.com
    "Linux is user friendly, its just very selective of its friends*", m'enfou, je suis son pote :p

    Un post vous est utile ou est constructif, ayez le réflexe du +1 pour le contributeur ( C'est gratuit et ça donne l'impression d'être utile :p )
    Le tag et la ne sont pas fait que pour le décor, pensez-y !
    R.I.P. F-k-z 13/06/2006 - 12/10/2011
    *Linux est convivial, il est juste très sélectifs pour ses amis.

  7. #7
    Nouveau membre du Club
    Inscrit en
    Septembre 2006
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 51
    Points : 28
    Points
    28
    Par défaut
    Merci pour votre aide. Et en plus j'ai deux solutions pour le prix d'une et des explications...
    merci beaucoup


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Trouver un caractère dans une chaine de caractère
    Par wassim_boy dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 05/01/2012, 04h36
  2. Réponses: 6
    Dernier message: 12/12/2010, 23h09
  3. trouver une chaine de caractères dans une page web
    Par ludojojo dans le forum C++Builder
    Réponses: 10
    Dernier message: 11/06/2008, 20h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo