[bash scripting] incrémenter un compteur avec un offset

Bonjour, bonjour,

Je voudrais pourvoir faire quelque chose comme ça avec bash:
http://pastie.org/381599

Est-ce que c’est possible de manière aussi directe ou bien je dois gérer l’offset de mon compteur moi-même via une string (ou toute autre méthode pas cool) ?

le probleme est d’afficher le “0” avec un chiffre c’est ca ?

tu peux aussi utiliser for(;:crying: mais c’est assez particulier comme utilisation…

LoneWolf
Je vois pas le probleme dans ce code en fait :slight_smile:

Oui. J’ai une chaine de caratères de type “xyz001” dont je veux incrémenter le nombre plusieurs fois.

Ah, je vais regarder.

[quote]LoneWolf
Je vois pas le probleme dans ce code en fait :)[/quote]
Il affiche 1,2,3,…,18,19 (ce qui est logique) au lieu de 01,02,…,18,19 (ce que je veux… tout en gardant la simplicité d’une bête boucle :] )

je pense qu’il va falloir parser la chaine et récupérer le nombre …
par ce que sinon pour SIMPLEMENT l’histoire du 01

for i in $(seq 00 20) do if [ $i -lt 10 ] then echo 0$i else echo $i fi done

Oups, je n’ai aps été très clair.
@Mono: je produis la chaîne de caractère « xyz », le nombre est rajouté dans la boucle et c’est là que l’incrémentation se fait en concaténant les deux variables.
Je pense que je vais faire comme dans ton exemple, je n’ai pas l’impression que les offsets soient gêrés en bash :slight_smile:

Sinon, tu peux l’automatiser en detectant la puissance de 10 immediatement superieure au nombre que tu as, et inferieure a ton max que 0 que tu veux ajouter et ajouter puissancemax - puissance x 0 devant ton nombre. Hop la, 3min dans un langage moderne. Ptet faisable en bash, ca je te laisse voir.

seq est ton ami :
essaye « seq -f %02.0f 1 10 »
Pour aller plus loin, je te laisse fouiller :slight_smile:

[quote=“molyss, post:8, topic: 49080”]seq est ton ami :
essaye "seq -f %02.0f 1 10"
Pour aller plus loin, je te laisse fouiller :)[/quote]
Ah effectivement, ça c’est tip-top ce que je voulais \o/
Voilà ce que j’utilise:

(je ne connais effectivement pas l’offset à l’avance, et à terme va se rajouter des choses comme “xyz002-003” quand un élément designé par ma chaine utilise deux slots dans ma liste.)
Je suis bien content de découvrir bash, moi.

Merci tout le monde!