[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bash:declare vs ksh:typeset



Hallo Matthias,

Matthias Müller schrieb am 20. Mai um 17:48 Uhr:
> Am Sonntag, 20. Mai 2018, 16:20:56 CEST schrieb Christian Knoke:

> > Meines Wissens unterstützt bash keine Formate in der Zahlendarstellung,
> > weder intern noch extern.
> > 
> > So heisst es in "ARITHMETIC EVALUATION":
> >   "Evaluation is done in fixed-width integers with no check for overflow,
> >    though division by 0 is trapped and flagged as an error."
> > 
> > Das sind dann Strings.
> Wahrscheinlich, habe ich beim Kopieren aus einem Korn-Shell-Script nicht 
> aufgepasst und eine fehlerhafte Zeile kopiert, Es macht bei int keinen Sinn 
> mit führenden Nullen. Es geht auch nicht um Arithmetik
> 
> Mir geht es um die Attribute: fixe Länge, führende Nullen und rechtsbündig, 
> das möglichst elegant.
> 
> Der eigentliche Sinn ist, dass aus einer CSV-Datei Nummern ausgelesen werden, 
> die unterschiedlich lang sind. Zur weiteren Verarbeitung/-wendung _müssen_ sie 
> aber eine fixe Länge haben.

Achso. Du suchst printf. Das gibt es als built-in *und* als Dienstprogramm.

> Durch "typeset -Z15 str_WeiterVerw=${str_GelesenerWert}" (in der ksh) ist 
> garantiert, dass str_WeiterVerw immer 15stellig, ggf mit führenden Nullen und 
> rechtsbündig ist, egal welcher Wert gelesen wird.

Das gibt es wie gesagt in der bash nicht.

> Nachteil ist, dass gelesene Werte, die länger als (im Beispiel) 15 Zeichen 
> sind, links getrimmt werden. Ist in diesem Fall aber egal.

Gruß
Christian

-- 
***   Christian Knoke  *  25541 Brunsbüttel  *  http://cknoke.de   ***


Reply to: