Alignement de colonne - Script shell / Linux
endefu
Messages postés
21
Statut
Membre
-
endefu Messages postés 21 Statut Membre -
endefu Messages postés 21 Statut Membre -
Bonjour,
Je dois faire un script pour compléter un fichier text. Disons que mon fichier text est de cette forme
C'est pas très beau en effet. J'ai finalement réussi à faire mon script pour completer ce fichier et j'obtiens des choses de la forme :
Il y a une nouvelle ligne que j'ai insérer mais il y a un problème d'alignement. Autre facon de compléter le fichier
Là encore un problème d'alignement survient.
Bref, je voudrais savoir si il y a moyen de gérer cette alignement après coup pour faire des belles colonnes. Tout ca en shell pour l'insérer dans mon script. J'espere que cela est possible après coup ca m'éviterait de vous ennuyer avec tout mon script.
Merci
Je dois faire un script pour compléter un fichier text. Disons que mon fichier text est de cette forme
#sly4 SLy4 *DFTX31 40 -1 DFTX *RDFX31 40 -1 RDFTX #hsly4 SLy4 *dftm 40 -1 DFTM #t6 T6 *dftm 40 -1 DFTM
C'est pas très beau en effet. J'ai finalement réussi à faire mon script pour completer ce fichier et j'obtiens des choses de la forme :
#sly4 SLy4 *DFTX31 40 -1 DFTX *RDFX31 40 -1 RDFTX *NEW 40 -1 DFTX #hsly4 SLy4 *dftm 40 -1 DFTM #t6 T6 *dftm 40 -1 DFTM
Il y a une nouvelle ligne que j'ai insérer mais il y a un problème d'alignement. Autre facon de compléter le fichier
#sly4 SLy4 *DFTX31 40 -1 DFTX *RDFX31 40 41 -1 RDFTX #hsly4 SLy4 *dftm 40 -1 DFTM #t6 T6 *dftm 40 -1 DFTM
Là encore un problème d'alignement survient.
Bref, je voudrais savoir si il y a moyen de gérer cette alignement après coup pour faire des belles colonnes. Tout ca en shell pour l'insérer dans mon script. J'espere que cela est possible après coup ca m'éviterait de vous ennuyer avec tout mon script.
Merci
A voir également:
- Alignement de colonne - Script shell / Linux
- Déplacer colonne excel - Guide
- Classic shell - Télécharger - Personnalisation
- Trier colonne excel - Guide
- Script vidéo youtube - Guide
- Colonne word - Guide
2 réponses
Bonsoir,
Je suis nul de chez nul est shell.
Mais je sais que pour la manipulation de données, c'est perl qui fait ça le mieux.
=> http://perl.enstimac.fr/DocFr/perlform.html
Cordialement,
Je suis nul de chez nul est shell.
Mais je sais que pour la manipulation de données, c'est perl qui fait ça le mieux.
=> http://perl.enstimac.fr/DocFr/perlform.html
Cordialement,
hello
utiliser printf et les formats
utiliser printf et les formats
$ cat f1 #sly4 SLy4 *DFTX31 40 -1 DFTX *RDFX31 40 -1 RDFTX *NEW 40 -1 DFTX #hsly4 SLy4 *dftm 40 -1 DFTM #t6 T6 *dftm 40 -1 DFTM $ $ cat f1 ; printf "%-7s%5s%4s%25s\n" *NEW 40 -1 DFTX #sly4 SLy4 *DFTX31 40 -1 DFTX *RDFX31 40 -1 RDFTX *NEW 40 -1 DFTX #hsly4 SLy4 *dftm 40 -1 DFTM #t6 T6 *dftm 40 -1 DFTM *NEW 40 -1 DFTX $
Ok merci, avec printf ca marche pour le premier cas (la moitié de mes remplissages).
Par contre, pour le deuxième cas je suis toujours bien embeté. Précisions, je ne connais pas à priori ce qui se trouve dans le fichier text, et donc quand je remplis une ligne avec une nouvelle valeur (ici : 41) je connais pas le nombre d'espace que je doit mettre pour que la dernière colonnes soit alignées. Suis je clair?
Par exemple ici j'ai rempli avec un 43 mais je savais pas dans mon script au moment de l'inserer combien il y avait d'espaces. Bon je vais quand même réflechir si j'ai pas moyens de le savoir, mais ca va surement compliquer la tache.
Merci.
Par contre, pour le deuxième cas je suis toujours bien embeté. Précisions, je ne connais pas à priori ce qui se trouve dans le fichier text, et donc quand je remplis une ligne avec une nouvelle valeur (ici : 41) je connais pas le nombre d'espace que je doit mettre pour que la dernière colonnes soit alignées. Suis je clair?
#sly4 SLy4 *DFTX31 40 -1 DFTX *RDFX31 40 41 42 43 -1 RDFTX #hsly4 SLy4 *dftm 40 -1 DFTM #t6 T6 *dftm 40 -1 DFTM
Par exemple ici j'ai rempli avec un 43 mais je savais pas dans mon script au moment de l'inserer combien il y avait d'espaces. Bon je vais quand même réflechir si j'ai pas moyens de le savoir, mais ca va surement compliquer la tache.
Merci.