9
votes

Comment incrémenter un zéro pavé int dans bash

J'ai un ensemble d'enregistrements à la boucle. Les chiffres vont de 0000001 à 0089543 qui mal appellent uidx.

Si j'essaie quelque chose comme: xxx

compteur 1, 2, 3, 4 par opposition au 0000001 , 0000002 ... que j'ai besoin.

Quelle est la meilleure façon de faire paper que ces dirigeants zéro?


1 commentaires

Dans n'importe quelle langue, les chiffres et l'affichage des chiffres sont des problèmes distincts. 000001 est juste un choix de formatage.


3 Réponses :


11
votes

Utilisez la commande printf pour formater les numéros avec des zéros de premier plan, par exemple: xxx

de homme bash :

Printf [-V var] Format [Arguments]
Écrivez les arguments formatés sur la sortie standard sous la commande du format. L'option -v amène que la sortie soit attribuée à la variable var plutôt que d'être imprimée sur la sortie standard.


0 commentaires

2
votes

Vous pouvez utiliser la commande Seq, très utile dans votre situation xxx

Supprimer le premier et le dernier numéro en fonction de votre besoin, par exemple, si vous devez arriver à 0089542, alors la commande à utiliser est xxx


1 commentaires

+1, merci. J'ai jusqu'à présent toujours utilisé la concaténation de la chaîne pour atteindre l'effet.



6
votes

bash 4 a une bonne façon de résoudre ce problème: xxx


0 commentaires