Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1306 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [Shell programming] Ecrire dans une colonne precise

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Shell programming] Ecrire dans une colonne precise

n°1388834
drake83
Chat lu les gens!
Posté le 16-06-2006 à 11:37:40  profilanswer
 

Bonjour, j'ai des listes de valeurs stockees dans des fichiers, pour ca pas de probleme je sais les recuperer. Mais j'aurais aime savoir s'il etait possible en shell d'ecrire ces valeurs dans des colonnes precises, et si cela n'est pas possible quel langage de programmation permet de faire ca?
Merci d'avance :)


---------------
||www.lefebvrecedric.com || Mon boulot
mood
Publicité
Posté le 16-06-2006 à 11:37:40  profilanswer
 

n°1388835
Elmoricq
Modérateur
Posté le 16-06-2006 à 11:38:02  profilanswer
 

Des colonnes de quoi ? Définies comment ? Quel shell ?


Message édité par Elmoricq le 16-06-2006 à 11:38:12
n°1388869
gloo
Posté le 16-06-2006 à 11:50:22  profilanswer
 

ouai, c 'est trop vague ..... donne des exemples ....

n°1388963
drake83
Chat lu les gens!
Posté le 16-06-2006 à 13:37:06  profilanswer
 

Mon fichier de sortie doit avoir une totalite de 80 colonnes, mais le nombre de lignes est tres variable. Lorsque dans le prompt unix vous tapez n ou nedit il s'ouvre une fenetre de ce style. Et bien moi il se trouve que j'ai une serie de valeurs, dont les longueurs sont variables, qui doivent etre alignees tres precisement sur certaines colonnes (j'ai droit a des fourchettes du genre de la colonne 11 a la 20 et ainsi de suite). Ces valeurs constitueront alors, une fois alignees comme il faut, un jeu de donnees necessaire a un code de calcul capable d'aller lire chaque colonne.
 
Je ne sais pas comment ces colonnes sont definies, mais en ce qui concerne le shell ca m'est egal, j'utiliserai celui qui sera approprie.


---------------
||www.lefebvrecedric.com || Mon boulot
n°1388969
Elmoricq
Modérateur
Posté le 16-06-2006 à 13:44:12  profilanswer
 

Tu peux par exemple utiliser printf, pour formater ta ligne et imposer un format de sortie.

n°1389017
gloo
Posté le 16-06-2006 à 14:25:17  profilanswer
 


ca m'a l'air bien le printf d'Elmoricq :
j ai créé un fichier drake.txt avec des champs séparés par des pipes
 

Code :
  1. $ cat drake.txt
  2. rfgdf|efghdgh|sdfgsdfg|sdfgsdf[|sfdgsdf[|sdfgdf
  3. 1231234|132345|dfgsdf|dsfgsdfg|234123|231234
  4. 5|5|7|8|9|333


 

Code :
  1. cat drake.txt  | awk -F"|" '{ printf ("%50s|%20s|%10s|%20s|%10s|%20s\n", $1, $2, $3, $4, $5 ,$6) } '
  2.                                              rfgdf|             efghdgh|  sdfgsdfg|            sdfgsdf[|  sfdgsdf[|              sdfgdf
  3.                                            1231234|              132345|    dfgsdf|            dsfgsdfg|    234123|              231234
  4.                                                  5|                   5|         7|                   8|         9|                 333
  5.                                                   |                    |          |                    |          |                   
  6.                                                   |                    |          |                    |          |

n°1389028
Elmoricq
Modérateur
Posté le 16-06-2006 à 14:36:03  profilanswer
 

On peut utiliser printf sans passer par awk, c'est également un binaire qu'on trouve en standard sur Unix (enfin il me semble).
 
Sinon oui, au pire, on peut aussi passer par awk pour accéder à printf. C'est le même de toute façon, à savoir comportement identique à printf() en C.
Dans tous les cas, ça permet des sorties formatées avec un format assez complet.


Message édité par Elmoricq le 16-06-2006 à 14:36:33
n°1389157
drake83
Chat lu les gens!
Posté le 16-06-2006 à 15:45:06  profilanswer
 

Oui, je me suis pas mal renseigne sur printf depuis tout a l'heure, y'a de grandes chances pour que ca me convienne :)
Je vous remercie pour ces elements de reponses :)
 
edit: Gloo merci pour ton exemple :jap:


Message édité par drake83 le 16-06-2006 à 15:48:04

---------------
||www.lefebvrecedric.com || Mon boulot

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [Shell programming] Ecrire dans une colonne precise

 

Sujets relatifs
[Shell] Remplacement de retour chariot[RESOLU] selection de colonne
[shell] sortir au bout d un certain temps de mon test[RESOLU] colonne en lettre et en chiffre
[Shell résolu] trier les lignes obtenues par tail -fAffichage valeur colonne graphique
[java débutant] écrire dans une Jlist depuis un objet indépendant[Linux shell] execution de commande ?
Execution d'une commade shellfixer la hauteur d'une colonne
Plus de sujets relatifs à : [Shell programming] Ecrire dans une colonne precise


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR