Chaines de caractères dans fichier log
Résolu
Lapourax
Messages postés
2970
Date d'inscription
Statut
Contributeur
Dernière intervention
-
Lapourax Messages postés 2970 Date d'inscription Statut Contributeur Dernière intervention -
Lapourax Messages postés 2970 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour CCM,
Je suis en train de me faire une fonction qui me permettra de faire des fichiers de logs bien propre
Mon but c'est de faire un truc du genre
fct "date" "machine" "code" "message" "etc..." "test.log"
Et ma fonction affiche tout bien à l'écran et dans le fichier de log en paramètre.
Ou est ma question ? J'y arrive !
Pour le moment sa me fait sa :
C'est bien j'ai ce qu'il me faut
Mais c'est moche !
Comment fixer la largeur de mes chaines de caractères pour faire en sorte que sa soit aligné ?
Ex :
Merci d'avance !
(Script KSH sous RedHat)
Cordialement,
Lapourax ;)
Je suis en train de me faire une fonction qui me permettra de faire des fichiers de logs bien propre
Mon but c'est de faire un truc du genre
fct "date" "machine" "code" "message" "etc..." "test.log"
Et ma fonction affiche tout bien à l'écran et dans le fichier de log en paramètre.
Ou est ma question ? J'y arrive !
Pour le moment sa me fait sa :
00/00/0000 machine1 0001 Coucou CCM 00/00/0000 ma_machine 00000023 Comment sa va ?
C'est bien j'ai ce qu'il me faut
Mais c'est moche !
Comment fixer la largeur de mes chaines de caractères pour faire en sorte que sa soit aligné ?
Ex :
00/00/0000 machine1 0001 Coucou CCM 00/00/0000 ma_machine 00000023 Comment sa va ?
Merci d'avance !
(Script KSH sous RedHat)
Cordialement,
Lapourax ;)
5 réponses
-
Salut,
Avec "printf" ?
$ cat brol 00/00/0000 machine1 0001 Coucou CCM 00/00/0000 ma_machine 00000023 Comment ça va ? $ cat foo.sh #!/bin/bash while read Date mach num mesg do printf "%-12s %-20s %-15s %s\n" "${Date}" "${mach}" "${num}" "${mesg}" done < brol $ ./foo.sh 00/00/0000 machine1 0001 Coucou CCM 00/00/0000 ma_machine 00000023 Comment ça va ?
-
hello
on peut aussi passer en paramètre la largeur des colonnes du format:$ printf "%*s %*s %*s %s\n" 11 00/00/0000 -20 ma_machine -20 00000023 "Comment sa va ?" 00/00/0000 ma_machine 00000023 Comment sa va ? $ $ printf "%*s %*s %*s %s\n" 11 00/00/0000 -15 ma_machine -24 00000023 "Comment sa va ?" 00/00/0000 ma_machine 00000023 Comment sa va ? $
-
Ok je vais tester =)
-
Super sa marche !
Merci beaucoup =)
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
J'ai testé sa marche aussi
Merci beaucoup j'ai plus qu'a choisir =)