Mettre une variable sur 3 chiffres

Résolu/Fermé
Patrick33 - 31 mars 2015 à 17:14
dubcek Messages postés 18758 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 24 décembre 2024 - 2 avril 2015 à 08:17
Bonjour utilisateur du forum,
Je viens vous voir car j'aimerai savoir si il était possible de forcer une variable qui comporte un chiffre/nombre d'être sur un certain nombre d'espace.
Par exemple si je fais varA=001 et qu'ensuite j'incrémente cette variable, sa valeur sera 2 alors que j'aimerais que ce soit 002.
Merci d'avance pour vos réponses!

2 réponses

Utilisateur anonyme
31 mars 2015 à 17:56
salut,

printf '%03d\n'  1 12 113 1114
2
a quoi servent tout les chiffres après le printf?
0
Utilisateur anonyme
1 avril 2015 à 04:27
c'est le format ! XD
d : indique un entier
3 : indique le décalage vers la droite souhaité
0 : indique de compléter à gauche avec des zéros

cf. man 3 printf
0
Non ça j'avais compris je parle de ceux après la commande "1 12 113 1114"
0
La commande fonctionne mais pas lorsque je la rentrer dans une variable.
varB=printf '%03d\n' $varA
Il s'agit sans doute d'une erreur bête car je débute le shell
0
il me manquait le $() c'est reglé merci de ton aide!
0
blux Messages postés 26546 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 décembre 2024 3 319
31 mars 2015 à 17:20
Salut,

c'est dans quel but ?
Parce que si la finalité est juste l'affichage, alors tu gères en numérique en interne et lorsque tu veux afficher, tu formates...
0
J'ai une série d'une centaine de fichier de la forme nomdufichier_000.txt. Le nombre à la fin du nom s'incrémente.
Je cherche à effectuer une opération sur ces fichiers les uns après les autres dans l'ordre croissant pour cela je souhaiterais utiliser une variable pour faire par exemple "grep -n 'toto' *$mavariable.txt" cependant cette variable quand je l'incrémente il l'a simplifie. C'est à dire qu'il va faire 001 + 1 = 2 et non pas 002 du coup au prochain passage il cherchera le fichier *2.txt ce qui ne pointe plus vers un seul est unique fichier.
0