Fixer le nombre de caractères par ligne d'un fichier - Shell/Batch - Programmation
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+,
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 ??
Je dois préciser que mes connaissances en prog sont plus que limitées , et c'est bien le problème...
Merci en tout cas pour vos réponses