Précédent   Forum des professionnels en informatique > Systèmes > Autres systèmes > Unix
Unix Forum d'entraide sur les systèmes Unix et dérivés (*BSD, AIX, etc.). Avant de poster ->F.A.Q BSD F.A.Q. Aix
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/06/2008, 12h51   #1
Futur Membre du Club
 
Inscription : octobre 2007
Messages : 66
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 66
Points : 16
Points : 16
Par défaut Fonction shell pour du padding ?

Bonjour,

Je voudrais avoir un renseignement pour savoir s'il était possible via une fonction de faire un padding sur une variable pour qu'il me donne à partir d'une valeur me pad le champ avec une longueur donné et des zero a gauche.

Exemple :

Je rentre en paramètre de ma fonction la valeur :
FA
En sortie de ma fonction, je veux une longueur de 4 pour mon champ avec des zero a gauche :
00FA

Voila, pour l'instant j'ai ce code, mais je voudrais trouvé plus performant :
Code :
1
2
3
4
5
6
SIZE=`expr length ${maVariable}`
until [ "$SIZE" -eq "4" ]
do
	maVariable="0${maVariable}"
	SIZE=`expr length ${maVariable}`
done
merci a vous...
gud
gdev7 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2008, 16h00   #2
Membre Expert
 
Avatar de jlliagre
 
Inscription : juin 2007
Messages : 971
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juin 2007
Messages : 971
Points : 1 378
Points : 1 378
Code :
maVariable=$(printf "%04d" $maVariable)
jlliagre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2008, 17h49   #3
Futur Membre du Club
 
Inscription : octobre 2007
Messages : 66
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 66
Points : 16
Points : 16
Salut,
Je te remercie pour ta réponse , j'aurais pas pensé que l'on puisse faire des printf sous Unix (mis a part dans la commande awk).

@ la prochaine

gud,
gdev7 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2008, 20h56   #4
Membre Expert
 
Avatar de jlliagre
 
Inscription : juin 2007
Messages : 971
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juin 2007
Messages : 971
Points : 1 378
Points : 1 378
Je viens juste de remarquer que ta variable n'est pas en décimal mais en hexa.

Ma réponse est dans ce cas:

Code :
maVariable=$(printf "%04x" 0x$maVariable)
jlliagre est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h59.


 
 
 
 
Partenaires

Hébergement Web