Archiv verlassen und diese Seite im Standarddesign anzeigen : UNIX-Skript: Datum konvertieren
ComputerFee
30.12.2004, 16:12
Hallo zusammen,
ich würde gerne in einem UNIX-Shell-Skript (Solaris,Bourne-Shell) ein Datum vorgeben und das Skript soll mir dann z.Bsp. den Wochentag wieder zurückliefern.
Mit dem Befehl 'Date +%A' kann ich mir ja zum Beispiel den Wochentag für das aktuelle Datum anzeigen lassen.
Aber ich bin nicht fündig geworden, wie ich es hinbekomme, daß er mir ein beliebiges Datum in den Wochentag umwandelt.
Kann mir dabei jemand helfen?
Danke im Voraus!
Viele Grüße
ComputerFee
butterkeks
30.12.2004, 19:30
Man könnte den Output vom cal Kommando sicherlich mit grep oder awk parsen, zumindest wär das mal so auf die schnelle meine Idee
SkydiverBS
12.01.2005, 13:35
Hallo!
Wenn du noch nach der Antwort suchst:
Hast du dir mal die man-page zu "date" angesehen?
Da gibt es eine Option '-d' die nicht das aktuelle sondern das übergebene Datum ausgibt.
Wenn du also z.B. folgendes eintippst:
date -d "Jan 13 2005" +%A
Dann bekommst du "Donnerstag" als Ergebnis!
Gruss,
Philip
ComputerFee
22.08.2005, 13:23
Hallo,
mein obiges Problem hat sich mittlerweile erledigt, aber leider nicht völlig zu meiner Zufriedenheit.
Ich habe nämlich jetzt einen Datumswert, den ich in ein anderes Format bringen muß.
Beim Aufruf von date -d ... bekomme ich nur die Fehlermeldung, daß der Parameter -d nicht erlaubt ist.
Gibt es denn noch eine andere Möglichkeit, das Datum entsprechend zu fomatieren????
Danke schon mal im Voraus!
Viele Grüße
ComputerFee
butterkeks
22.08.2005, 16:58
der Parameter könnte bei dir anders lauten; SChau mal in der manpage nach.
Im Zweifelsfalle hab ich meine Variante mal gebaut:
#!/bin/sh
$m = 1 # Januar
$y = 2005 # Jahr
$d = 1 # 1. Tag
$c = `cal $m $y | grep " $d "`
for i in `seq 7`; do
if [ `echo "$c" | cut -d ' ' -f $i` = $d ]; do
# äh... wie bricht man nochmal einen loop ab?
fi
done
# auf jedem Fall steht in $i nun eine Zahl.
# 0 = Sonntag, 1 = Montag, etc.
#
# das kannst du nun umwandeln, z.B. so:
$wdays = `cal | grep Su` # ka, wie man das eleganter macht
cut -d ' ' -f $i
ist allerdings ungetestet
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.