Bonjour,

Je rencontre un petit problème qui, je pense, doit être assez simple à résoudre..

Je souhaiterai que mon script ouvre un fichier dont les lignes ont une longueur variable, et uniformise la longueur de l'ensemble des lignes.

Par exemple, mon fichier monfichier.txt contient 2 lignes :
-La première a une taille de 500
-La seconde, une taille de 800

Je souhaiterai uniformiser la taille de ces deux lignes à 1000. Soit ajouter 500 caractères "espace" à la première, et 200 caractères espaces à la seconde.

En fouillant un peu sur le net, je suis tombé sur la commande awk suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
awk '{printf("%-1000s\n", $0) }' monfichier.txt > monnouveaufichier.txt
Cette commande fonctionne à merveille.

En revanche, je souhaiterai passer à la commande awk, une taille définie par l'utilisateur, j'utilise donc une variable LONGUEUR tel que :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
LONGUEUR=1000
awk '{printf("%-${LONGUEUR}s\n", $0) }' monfichier.txt > monnouveaufichier.txt
Mais le fichier cible ne contient plus que des lignes dont la valeur est "LONGUEUR"...je ne suis pas expert en awk...

Je n'ai pas trouvé d'équivalent avec cat.

Quelqu'un aurait-il une solution à mon problème?

D'avance, merci infiniment.

Bien cordialement.