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 :

Problème sur utilisation printf


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 11
    Par défaut Problème sur utilisation printf
    Bonjour à toutes et à tous.

    J'ai besoin d'un peu d'aide, sur la commande printf sous ksh environnement SUN.
    En faite dans un script j'extrais des données d'un ordonnanceur, puis je rapproche plusieurs données que je voudrais mettre en forme pour avoir une base.

    Mon problème se situe sur l'affichage.
    Exemple :
    LibelSes="Le libellé de la session"
    printf "| %20s |\n" $LibelSes

    Résultat : | Le | libellé | de | la | session |

    Je voudrais que LibelSes se retrouve entre || et non chaque mots...
    J'ai rajouté des "" avec sed en début et fin de phrase mais c'est identique.

    Si vous avez une autre solution pour créer un affichage sous tableau.
    Merci pour votre aide.

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 840
    Billets dans le blog
    1
    Par défaut
    printf "| %20s |\n" "$LibelSes"
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 11
    Par défaut
    Quel nul je suis

    Merci pour ton aide en tout cas.

    Il n'y à pas d'autre moyen de faire de la mise en forme ??

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 840
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par xxxvanouxxx Voir le message
    Il n'y à pas d'autre moyen de faire de la mise en forme ??
    Soluce 1
    echo "$LibelSes" |awk '{printf("%20s\n", $0)}'

    Soluce 2
    vi toto.c
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #include <stdio.h>
     
    int main()
    {
        char ligne[1024 + 1];
     
        while (fgets(ligne, 1024 + 1, stdin) != NULL)
             printf("%20s", ligne);
        return 0;
    }
    gcc toto.c -o toto
    echo "$LibelSes" |./toto
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 11
    Par défaut
    Merci c'est gentil.


    Autre petite question qui n'a rien à voir avec le sujet.
    Pour un suivi minimum d'une machine j'ai fait deux trois petits truc.

    Notamment pour vérifier les FS. (ici supérieur à 80%)
    df -kl |grep -iv Filesystem |sort -nk 5 |grep "[8-9][0-9]%"

    Sauf que, si il y en a un à 100% la commande du dessus ne le détecte pas. En attendant j'envoi donc dans un fichier cette commande plus une autre qui détecte les 100% mais au lieu de répéter mes commande j'aimerais bien que tout soit traité dans une seule :-)

    Ceci ne devrait pas me retourner les chiffres supérieur à 80% avec deux chiffre minimum, donc devrait prendre en compte les 100% ??
    df -kl |grep -iv Filesystem |sort -nk 5 |grep [8-9]\{2,\}%

  6. #6
    Invité
    Invité(e)
    Par défaut
    Salut,

    tu peux utiliser un egrep

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    egrep "[8-9][0-9]%|100%"

  7. #7
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 840
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par xxxvanouxxx Voir le message
    Ceci ne devrait pas me retourner les chiffres supérieur à 80% avec deux chiffre minimum, donc devrait prendre en compte les 100% ??
    df -kl |grep -iv Filesystem |sort -nk 5 |grep [8-9]\{2,\}%
    Ben non. Là, tu demandes un 8 ou un 9 répétés 2 à n fois (88, 99, 888, 999, 8888, 9999, ...). Et accessoirement si tu mets des guillemets (t'as vraiment du mal avec ça toi !!!) tu seras sûr que le shell n'interceptera pas les métacaractères et qu'il fera passer au grep la chaine telle que tu l'as écrite
    df -kl |grep -iv Filesystem |sort -nk 5 |grep "[8-9]\{2,\}%"

    Donc voir la soluce de mygale1978
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. [2008] Problème sur utilisation bcp pour export dans fichier texte
    Par dimitrak dans le forum Outils
    Réponses: 2
    Dernier message: 06/07/2015, 08h09
  2. Réponses: 2
    Dernier message: 27/08/2008, 10h58
  3. Problème sur printf
    Par tom31 dans le forum Bibliothèque standard
    Réponses: 4
    Dernier message: 20/12/2007, 00h31
  4. [EasyPHP] gros problème d'utilisation d'EasyPHP sur clef usb
    Par Doksuri dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 04/06/2007, 21h03
  5. Problème d'utilisation wifi sur Suse 10.1
    Par penchu dans le forum Réseau
    Réponses: 10
    Dernier message: 30/09/2006, 20h28

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