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 :
Cette commande fonctionne à merveille.
Code : Sélectionner tout - Visualiser dans une fenêtre à part awk '{printf("%-1000s\n", $0) }' monfichier.txt > monnouveaufichier.txt
En revanche, je souhaiterai passer à la commande awk, une taille définie par l'utilisateur, j'utilise donc une variable LONGUEUR tel que :
Mais le fichier cible ne contient plus que des lignes dont la valeur est "LONGUEUR"...je ne suis pas expert en awk...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 LONGUEUR=1000 awk '{printf("%-${LONGUEUR}s\n", $0) }' monfichier.txt > monnouveaufichier.txt
Je n'ai pas trouvé d'équivalent avec cat.
Quelqu'un aurait-il une solution à mon problème?
D'avance, merci infiniment.
Bien cordialement.
Partager