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

Shell et commandes GNU Discussion :

Conversion chaine de caractères 010 en 10.


Sujet :

Shell et commandes GNU

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2012
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 42
    Par défaut Conversion chaine de caractères 010 en 10.
    Salut tout le monde,

    Je n'ai pas trouvé de catégorie KSH sur le forum alors je poste mon message ici.
    J'ai besoin de convertir une chaine de caractère qu'on m'envoie de la façon suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    000  => 0
    001  => 1
    002  => 2
    003  => 3
    [..]
    050  => 50
    051  => 51
    052  => 52
    053  => 53
    [...]
    999  => 999
    Je n'ai pas trouvé de commande native shell qui réponde à mon besoin(j'ai tenté de jouer avec typeset sans succès).
    Je ne maitrise pas du tout sed ou awk et j'ai essayé une commande perl qui me retourne quelque chose de bizarre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    perl -le '$hex = sprintf("%3d,%3d,%3d",015,169,009); print $hex'
    Illegal octal digit '9' at -e line 1, at end of line
    Execution of -e aborted due to compilation errors.
    Est-ce que vous sauriez m'aider SVP ?

    Merci.

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut $((10#$N))
    Salut,

    Fait sur une version ksh93.

    Le shell :
    $ echo $0
    ksh93
    Le fichier d'entrée :
    $ cat plop
    010
    0020
    035
    006500
    120
    La syntaxe :
    $ while read line;do echo $((10#${line}));done <plop
    10
    20
    35
    6500
    120

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2012
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 42
    Par défaut
    Je n'ai pas la même version de KornShell le résultat obtenu est exactement celui que je voulais!

    Merci beaucoup!

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2012
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 42
    Par défaut
    Au fait,
    Comment s'appelle la section du man ksh qui donne ces commandes de substitution (ou de formatage)?
    Cela pourrait m'aider assez souvent à l'avenir.

    Merci pour ton aide.

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut Arithmetic Expressions
    Honnêtement je le connaissais sous bash (tiré principalement de Bash Hackers Wiki), je l'ai juste essayé sous ksh et ça a marché.

    Par contre le man ksh y fait référence aussi :

    Integer constants may be specified with arbitrary bases using the notation base#number, where base is a decimal integer specifying the base, and number is a number in the specified base.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2012
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 42
    Par défaut
    Merci beaucoup

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

Discussions similaires

  1. conversion chaine de caractère
    Par guefrachi dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 24/01/2010, 02h13
  2. Conversion chaine de caractères en nombre décimal
    Par lodan dans le forum Langage
    Réponses: 3
    Dernier message: 02/04/2009, 19h11
  3. Conversion chaine de caractère => entier (ordre des caractères primordial car ADN)
    Par ctobini dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 24/09/2007, 11h20
  4. Conversion chaine de caractères en numérique
    Par arezki76 dans le forum Shell et commandes GNU
    Réponses: 33
    Dernier message: 18/07/2007, 11h25
  5. conversion chaine de caractères --> HTML
    Par captainflex dans le forum Ruby on Rails
    Réponses: 9
    Dernier message: 17/06/2007, 21h37

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