Fixer le nombre de caractères par ligne d'un fichier

Fixer le nombre de caractères par ligne d'un fichier - Shell/Batch - Programmation

Marsh Posté le 04-09-2013 à 18:52:50    

Bonjour à tous,
 
je voulais savoir s'il est possible de fixer le nombre de caractères par lignes d'un fichier.txt déjà existant??
Je m'explique: J'ai un fichier A de n  lignes de tailles de caractères différentes.
Chaque ligne a ses informations importantes sur moins de 80 caractères.  
 
Je voudrais que ce fichier A soit converti en un fichier B de n lignes mais que chacune fasse 80 caractères.
Il faudrait donc pour chaque ligne:
- soit supprimer des caractères lorsque la ligne fait plus de 80 caractères (ce sont des "espaces" donc ils ne servent à rien)
- soit ajouter des "espaces" lorsque la ligne fait moins de 80 caractères
 
Avez-vous déjà rencontré ce problème?
Quel serait le langage le plus approprié pour coder ce genre de routines, sachant qu'il faut que je puisse l'appeler d'un .bat derrière ? C'est d'ailleurs réalisable directement avec du ms-dos?
Mieux, auriez-vous une telle routine sous le coude ?? :D  
 
Je dois préciser que mes connaissances en prog sont plus que limitées   :sol: , et c'est bien le problème...
 
Merci en tout cas pour vos réponses

Reply

Marsh Posté le 04-09-2013 à 18:52:50   

Reply

Marsh Posté le 04-09-2013 à 21:22:17    

Sous perl en fenêtre dos:
 

C:\Perl> perl -nE "chop; printf qq(%-80s\n), pack(qq(A80), $_)" input.txt  > output.txt


ou la même chose avec une syntaxe alternative (pas testé cette seconde forme)

C:\Perl> perl -nE "chop; printf \"%-80s\n\", pack(\"A80\", $_)" input.txt  > output.txt


chaque ligne fera 80 caractères, plus un \n final (sinon, remplacer le 80 par 79)
 
A+,


Message édité par gilou le 04-09-2013 à 21:25:47

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed