|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Membre du Club
![]() Inscription : août 2009 Messages : 65 ![]() |
Bonjour,
J'ai deux fichiers à longueur variable : Code :
Code :
Code :
1- si la longueur d'une ligne de fic1 < à la longueur max, j'ajoute des blancs en fin de ligne 2- si la longueur d'une ligne de fic1 > à la longueur max, je coupe à la bonne longueur (200 premiers caractères) 3- si la longueur d'une ligne de fic1 = à la longueur max, je ne fais rien A la fin du traitement, je dois obtenir un fichier fic1 de longueur fixe et qui correspond à 200 comme l'indique le fichier de paramétrage. Le même traitement doit être appliqué pour fic2. Je sais que awk est hyperpuissant pour faire cela mais je n'y arrive pas. Si vous avez une idée, ça serait avec plaisir. Merci d'avance pour votre aide. |
||||||
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() Frédéric Brugmans Informaticien multitâche Inscription : février 2005 Messages : 661 ![]() |
Je ne suis pas d'habitude à balancer des RTFM mais puisque tu connais l'outil, tu pouvais chercher un peu avant de poster ta question ....
Code :
|
||
|
|
10
|
|
|
#3 |
|
Membre du Club
![]() Inscription : août 2009 Messages : 65 ![]() |
Merci beaucoup pour la réponse.
J'ai testé le code et j'ai rencontré deux soucis : Le premier porte sur le nombre d'espaces ajoutés quand la longueur est inférieure à la longueur souhaitée. Le code avec la boucle Code :
for ( i=0 ; i <= ( mysize - length(myvar) ) ; i++ ) Le second souci porte sur la boucle : Code :
for( i=0 ; result!=0 ; result=getline myvar < myfile ) |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Frédéric Brugmans Informaticien multitâche Inscription : février 2005 Messages : 661 ![]() |
Tu as constaté que le code est a modifier pour que cela rencontre exactement tes attentes. Modifie le pour qu'il le devienne ou explique ce que tu as fait comme modifications qui ne fonctionnent pas mais cela ne me tente pas d'écrire les corrections pour toi.
|
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() Inscription : août 2009 Messages : 65 ![]() |
Tu as tout à fait raison de souligner que l'essentiel était dans ton code et je réitère mes remerciements. Je suis impressionnant pour la puissance de awk et par ceux qui le maitrisent.
Je fais passer le statut du message à "Résolu" |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com