Am Samstag, 27. März 2004 20:53 schrieb Michael Hoeller:
aus einem Dateinamen möchte ich den Timestamp extrahieren um diesen in einem skript weiter zu verwenden. Ich vermute das ich das mit basename igrendwie hiebekommen kann oder?
Input: film2004.03.27_15-47-12.avi
Gesucht: Datum als TT.MM.YYYY Zeit als HH:MM
Igrendwie reicht basename nicht, denn damit kommt ich ja nur an den gesamten Namen nur wie bekomme ich die Teilstücke?
Mit basename kannst Du maximal noch die Endung abschnippeln: jan@roland:~> basename film2004.03.27_15-47-12.avi .avi film2004.03.27_15-47-12 Eleganter kriegst Du es IMHO mit sed hin (Befehlezeile = 1 Zeile): jan@roland:~> echo film2004.03.27_15-47-12.avi | sed 's/^.*\([12][0-9]\{3,3\}\)\.\([0-2][0-9]\)\.\([0-3][0-9]\)_\([0-2][0-9]\)-\([0-5][0-9]\).*$/\3.\2.\1 \4:\5/' 27.03.2004 15:47 Der sed löst relativ genau die gültigen Zeichen für ein Datum und eine Zeit auf. Jan