Archiv verlassen und diese Seite im Standarddesign anzeigen : bash und printf-Ausgabe: dezimal - oktal
Hallo allerseits,
leider kann ich printf in der bash nicht davon überzeugen, eine Zahl mit führenden Nullen NICHT in eine oktale Zahl umzurechnen.
Beispiel:
# printf "%09d\n" 1234 --> Ausgabe: 000001234
dagegen
# printf "%09d\n" 0022 --> Ausgabe: 000000018
Wie kann ich printf sagen, dass 22 nicht zu 18 wird ?
DANKE für Eure Hilfe !
Gruss zst
Romanday
06-09-2006, 23:42
Hallo allerseits,
leider kann ich printf in der bash nicht davon überzeugen, eine Zahl mit führenden Nullen NICHT in eine oktale Zahl umzurechnen.
Beispiel:
# printf "%09d\n" 1234 --> Ausgabe: 000001234
dagegen
# printf "%09d\n" 0022 --> Ausgabe: 000000018
Wie kann ich printf sagen, dass 22 nicht zu 18 wird ?
DANKE für Eure Hilfe !
Gruss zst
Schau dir mal hexdump an.
@Romanday --> Vielen Dank !
... aber kennt niemand eine printf-Lösung ?
hexdump ... da lese ich oktal - hex ... ???
Gruss zst
Romanday
07-09-2006, 08:17
Wie kann ich printf sagen, dass 22 nicht zu 18 wird ?
DANKE für Eure Hilfe !
Gruss zst
printf "%09o\n" 0022
Hallo allerseits,
leider kann ich printf in der bash nicht davon überzeugen, eine Zahl mit führenden Nullen NICHT in eine oktale Zahl umzurechnen.
Eine Zahl mit fuehrender Null wird nicht in eine oktale Zahl umgerechnet; Du gibst vielmehr durch die fuehrende Null an, dass die Zahl als oktaler Wert zu interpretieren ist.
Wie kann ich printf sagen, dass 22 nicht zu 18 wird ?
Die Frage muesste eigentlich lauten:''Wie kann ich printf sagen, dass 022 nicht zu 18 wird ?''
Unterdrueck doch die fuehrende(n) Null(en)
MfG,
peschmae
07-09-2006, 17:25
z.B. mit sowas kriegst du die nullen weg:
printf "%09d\n" $(expr 0022 + 0)
MfG Peschmä
P.S. grauenhaft, ich weiss ;) *ggg
Hallo und VIELEN DANK an EUCH !!!
@Romanday: printf "%09o\n" funktioniert nur bei kleinen Zahlen korrekt.
@rais: Die Frage ... Du hast natürlich Recht! Dein Vorschlag bringt aber die Lösung.
@peschmae: Besonderen Dank an Dich !!! Das Beispiel mag "grauenhaft" sein, funktioniert aber in meinem Script tadellos. Und das Beste an einer Lösung ist für mich eine Lösung mit Beispiel ! DANKE !
Gruss zst
Romanday
10-09-2006, 18:13
Hallo und VIELEN DANK an EUCH !!!
Gruss zst
Shell und Zahlen -a -o Konvertierung, da hast Du immer Theater.
Es kann sein das dein Script an anderer Stelle hängt.
Die Shell wurde nicht zum rechnen geschaffen.
Besser ist so etwas mit awk, python, perl o. php zu lösen.
Du hast dort schon meist vorgefertigte Funktion für jede
Art von Konvertierung, und auch keinen Ärger mit eventuellen
Sonderzeichen.
Außerdem gibt es für python, perl o. php Zusatzmodule für große
Zahlen, wenn Du mal das Universum berechnen möchtest.
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.