Shell Scripting - Datumsberechnungen

Wethand

bekommt Übersicht
Hallo,

ich bin mir zwar nicht sicher ob das dass richtige Forum ist, aber vieleicht kann mir ja trotzdem jemand helfen.

Folgendes Problem:

Ich möchte in einen Script von einen gewissen Datum aus rechnen.
Soll konkret heissen, ich habe beispielsweise das heutige Datum und möchte nun das Datum errechnen welches in 11 Monaten ist. (26.05.2008 + 11 Monate = ?)

Das Datum, welches im Script als Ausgangsdatum genommen wird, liegt im folgdenden Format vor: YYYYMMDD (20080526)

Weiss da jemand rat?

Dankend im voraus!

Wethand
 
mktime?

Erstmal Danke für die Antwort. :)

Wolte mir den Befehl gleich mal anschauen. Allerdings meint mein System dazu (Untuntu 6.xx) das es den nicht gibt. Ein apt-get install mktime funktioniert auch nicht --> bricht mit der meldung ab E: Konnte Paket mktime nicht finden

Über Google habe ich dann zwar eine man page gefunden, aber die nützt mir ja nix wenn ich das Programm gar nicht habe ...
 
Ups, sorry - ich rutsche hier öfter auf Unix-Kisten rum - hab ich doch tatsächlich mal einen Befehl gefunden, der sich unterscheidet ;).
Das "date"-Kommando kann wohl genau das Gleiche.
 
Ok, die ganze Sache scheint in perl einfacher zu gehen. Falls es jemanden interessiert hier das script:

#!/usr/bin/perl

$a=`ls -1 testfiles`;
@b=split ("\n",$a);
foreach $c (@b) {
if ($c=~/^(\d{4})(\d{2})/) {
$j=$1;
$m=$2;
# Kalender - aktuelles datum
my ($Sekunden, $Minuten, $Stunden, $Monatstag, $Monat,
$Jahr, $Wochentag, $Jahrestag, $Sommerzeit) = localtime(time);
$m+=11;
if ($m>12) {
$m-=12;
$j++;
}
# print "$m $j $Jahr $Monat\n";
if (($j==$Jahr+1900 and $m<$Monat+1) or ($j<$Jahr+1900)) {
print "File: $c ist abgelaufen.\n";
}
}
}



(pfade müssen noch angepasst werden)

Danke an alle beteiligten! (y)
 
Oben