ubuntuusers.de

wie kann man einen Doppelpunkt an einer bestimmten Position einfügen?

Status: Gelöst | Ubuntu-Version: Kubuntu 10.04 (Lucid Lynx)
Antworten |

technohead

Avatar von technohead

Anmeldungsdatum:
1. April 2007

Beiträge: 869

Hallo,

ich habe eine Bash-Variable "$Startzeit" bzw. Array welches Uhrzeiten in dieser Form "1335" enthält (es fehlt der Doppelpunkt)

und ich würde gerne an die Position zwischen den beiden Dreiern einen Doppelpunkt einfügen, so das "1335" in "13:35" umgewandelt wird. Am Ende müsste ich noch das Ergebnis mit dem dazugehörigen Datum verketten, so das daraus ein vollständiges Datum mit Uhrzeit entsteht welches ich (noch keine Ahnung wie) noch in einen Unix-Timestamp umwandeln müsste.

Aber zunächst würde mir der Doppelpunkt schon mal weiter helfen...

Vielen Dann schon mal.

Vain

Avatar von Vain

Anmeldungsdatum:
12. April 2008

Beiträge: 2510

Servus,

Shell-Parameter-Expansion, damit kannst du ein „substr()“ nachbauen:

1
2
3
$ foo=1234
$ echo "${foo:0:2}:${foo:2}"        # Erst 2 Zeichen ab Index 0, dann alles ab Index 2
12:34

Und zur Frage mit dem Datum: Das kann das hübsche Programm „date“ machen.

1
2
3
$ foo=1234
$ date -d "2012-05-09 ${foo:0:2}:${foo:2}" +%s
1336559640

technohead

(Themenstarter)
Avatar von technohead

Anmeldungsdatum:
1. April 2007

Beiträge: 869

vielen Dank, das Bringt mich meinem Ziel ein ganzes Stück näher.

Lysander

Avatar von Lysander

Anmeldungsdatum:
30. Juli 2008

Beiträge: 2669

Wohnort: Hamburg

Besitzt date nicht eine Parsing-Methode, bei der die Formatierung des Eingabedatums ziemlich beliebig sein kann?

Antworten |