Mettre une variable sur 3 chiffres [Résolu/Fermé]

Signaler
-
Messages postés
18231
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
25 octobre 2020
-
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


salut,

printf '%03d\n'  1 12 113 1114
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Messages postés
18231
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
25 octobre 2020
5 045
ce n'est pas 8 qui pose problème, c'est 08
$ varA=08; printf '%0d\n' $varA
bash: printf: 08: invalid octal number
0
j'ai réussi en mettant au préalable
varB=$(( 10#$varB))
qui lui indique que la variable est en base 10
Messages postés
23763
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 janvier 2020
2 932
Moi, c'est un KornShell.

Peux-tu passer la commande suivante :

ps -o comm -p $$ | tail -1

Et ensuite, tu tapes :

ksh
set -o vi
[esc] (rien ne s'affiche, c'est normal)
[ctrl][V]
Une ligne concernant la version devrait s'afficher, chez moi c'est :

Version M-11/16/88f

Je suis sur AIX 7.1 64 Bits sur PowerPC.
j'obtiens "PD KSH v5.2.15 99/07/13.2" je ne sais pas si c'est ce que tu veux
Messages postés
23763
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 janvier 2020
2 932
Tu as un shell de 99, moi il est de 88, ça explique des différences...
Messages postés
23763
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 janvier 2020
2 932
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...
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.