Datum

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von flugopa, 26.03.2008.

  1. #1 flugopa, 26.03.2008
    flugopa

    flugopa Der lernwillige

    Dabei seit:
    27.05.2006
    Beiträge:
    739
    Zustimmungen:
    0
    Ort:
    München
    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"
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. sinn3r

    sinn3r Law & Order
    Moderator

    Dabei seit:
    28.12.2006
    Beiträge:
    2.764
    Zustimmungen:
    0
    Ort:
    Wentorf
    Welche Shell, welches Linux/Unix?
     
  4. #3 flugopa, 26.03.2008
    flugopa

    flugopa Der lernwillige

    Dabei seit:
    27.05.2006
    Beiträge:
    739
    Zustimmungen:
    0
    Ort:
    München
    Verzeihung hatte ich vergessen.


    OS = Redhat5, Fedora8, CentOS5.1
    Shell = bash + sh
     
  5. #4 Always-Godlike, 26.03.2008
    Always-Godlike

    Always-Godlike Das Freak

    Dabei seit:
    31.12.2006
    Beiträge:
    939
    Zustimmungen:
    0
    Ort:
    Saarland
    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
     
  6. #5 flugopa, 27.03.2008
    flugopa

    flugopa Der lernwillige

    Dabei seit:
    27.05.2006
    Beiträge:
    739
    Zustimmungen:
    0
    Ort:
    München
    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.
     
  7. #6 Gott_in_schwarz, 27.03.2008
    Gott_in_schwarz

    Gott_in_schwarz ar0

    Dabei seit:
    22.04.2007
    Beiträge:
    546
    Zustimmungen:
    0
    Ort:
    Niedersachsen
    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..)
     
  8. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

Datum

Die Seite wird geladen...

Datum - Ähnliche Themen

  1. Shell-Skript Datum in einer Datai suchen

    Shell-Skript Datum in einer Datai suchen: Hallo zusammen Ich komm eigentlich aus der Klicki-Bunti-Welt von Windows. Seit geraumer Zeit versuche ich meine Künste mit verschiedenen...
  2. Wie kann ich im AIX x Tage vom Datum subtrahieren ?

    Wie kann ich im AIX x Tage vom Datum subtrahieren ?: Für ein Skript unter AIX brauche ich einen Code, der mir vom aktuellen Datum 7 Tage abzieht und das Datum im gewünschten Format ausgibt. Hat...
  3. Wie filtere ich nach Datum um Files zu löschen

    Wie filtere ich nach Datum um Files zu löschen: Ich möchte alle *.sql Dateien löschen die älter als 20 Tage sind. Die Verbindung mache ich von einem RedHat auf eine Windows 2008 Server....
  4. Dateien nach Datum finden

    Dateien nach Datum finden: Hallo zusammen, ich würde gerne Wissen wie ich am einfachsten Dateien nach einem bestimmten Datum in einem Verzeichnis suchen kann. Das...
  5. Linux Mint & Evolution => Mails nach Datum sortieren

    Linux Mint & Evolution => Mails nach Datum sortieren: Hallo Leutz, ertmal hallo, bin hier neu :D. Bin mit nicht ganz sicher, ob das Theme hier rein passt, wab aber nichts besseres gefunden....