Chaines de caractères dans fichier log

Résolu/Fermé
Lapourax Messages postés 3006 Date d'inscription vendredi 15 mars 2013 Statut Contributeur Dernière intervention 17 février 2023 - Modifié par Lapourax le 24/05/2013 à 14:30
Lapourax Messages postés 3006 Date d'inscription vendredi 15 mars 2013 Statut Contributeur Dernière intervention 17 février 2023 - 27 mai 2013 à 09:20
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 :
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 ;)
A voir également:

5 réponses

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
24 mai 2013 à 15:13
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 ?

1
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
24 mai 2013 à 15:40
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 ?
$ 
1
Lapourax Messages postés 3006 Date d'inscription vendredi 15 mars 2013 Statut Contributeur Dernière intervention 17 février 2023 334
24 mai 2013 à 15:15
Ok je vais tester =)
0
Lapourax Messages postés 3006 Date d'inscription vendredi 15 mars 2013 Statut Contributeur Dernière intervention 17 février 2023 334
24 mai 2013 à 15:22
Super sa marche !
Merci beaucoup =)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Lapourax Messages postés 3006 Date d'inscription vendredi 15 mars 2013 Statut Contributeur Dernière intervention 17 février 2023 334
27 mai 2013 à 09:20
J'ai testé sa marche aussi
Merci beaucoup j'ai plus qu'a choisir =)
0