Datum

F

flugopa

Hallo,

ich stehe gerade auf der Leitung.

Datei zeitraum.txt
Inhalt:
01.10.2008-11.01.2009
10.02.2008-11.02.2008

Was soll passieren.
1. durchsuche datei "zeitraum.txt"
2. vergleiche Zeitraum mit der aktuellen Zeit
3. wenn aktuelle Zeit innerhalb des Zeitraum, dann simple Ausgabe echo "Treffer"
 
Verzeihung hatte ich vergessen.


OS = Redhat5, Fedora8, CentOS5.1
Shell = bash + sh
 
Hab mal schnell nen Script gebastelt der das macht was du willst. Aber du musst das Datum umdrehen also Jahr.Monat.Tag, noch einfacher wäre der Timestamp (dann wird der Script wesentlich kürzer)

Code:
#!/bin/bash

for i in $(cat zeitraum.txt)
do
	start=$(echo $i | cut -d "-" -f1 | sed -e 's/\./\-/g')
	ende=$(echo $i | cut -d "-" -f2 | sed -e 's/\./\-/g')
	echo "Beginn: $start, Ende: $ende"
if [[ $(date -d $start +%s) -lt $(date  +%s) && $(date  +%s) -lt $(date -d $ende +%s) ]]
	then
		echo "Treffer"
	else
		echo "Kein Treffer"
	fi
	echo
done
 
Hallo Always-Godlike,

Dank deiner Anregung entstand das:
Code:
#!/bin/bash

# Zu Testzwecken
echo -e "01.11.2008-11.04.2009\n10.03.2008-11.04.2008">zeitraum.txt

AKTUELLES_DATUM=`date +%s`
for i in $(cat zeitraum.txt)
do
    echo -e "\nZeitraum: $i\n"
    start=$(echo $i | cut -d "-" -f1 | awk -F. '{print $3"-"$2"-"$1}')
    end=$(echo $i | cut -d "-" -f2 | awk -F. '{print $3"-"$2"-"$1}')
    if [ "$AKTUELLES_DATUM" -le "`date -d $end +%s`" ]; then
        if [ "$AKTUELLES_DATUM" -ge "`date -d $start +%s`" ]; then
	   clear
	   echo -e "\nZeitraum: $i\n"
           echo -e "Treffer"
           sleep 3
        fi
    fi
done

Für weitere Hinweise bin ich wie immer sehr dankbar.
 
Für weitere Hinweise bin ich wie immer sehr dankbar.
Ein Hinweis: nutze bitte entweder Backticks oder die POSIX-Schreibweise für command-substitution, aber auf keinen Fall beides. (Schlechter Stil..)
Ich würde dir hier zu Backticks raten, denn dann sollte das komplett "sh"-kompatibel sein. (Könnte mich irren, sollte aber eigentlich..)
 

Ähnliche Themen

Frage zu Bash Script mit Grep Ausgabe

Spalten einer Datei in neue Datei integrieren.

Dateiinhalt verdoppeln

Grafische Anzeige der Temperatur

E/A-Fehler (.snapshots is not a btrfs subvolume).

Zurück
Oben