shell script

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • shell script

    Mahlzeit zusammen,

    ich sitz im Praktikum und muss ein Shell skript verändern.

    es geht um eine druckerliste...alle drucker haben ihre eigenen dateien (*.inf) in den dateien stehen ihre information wie IP und Mac Adresse und vieles mehr. im shell script gibt er nun ne html datei aus und füllt die tabelle mit den drucker jeweils mit ihren Infos.

    nun ich soll diesen script verändern dass in der tabelle eine zusätzliche spalte mit der angabe des Datum wann die Datei (druckerdatei) zuletzt geändert wurden.

    so hab mal bissl mein Freund google benutzt und habe die Befhle LAST_MODIFIED und flastmod gefunden...

    wie binde ich das nun ein?

    also hab ein teil vom script und vermute dadurch wird die ausgabe gemacht also muss ich auch nur das verändern...vemute ich?!

    PHP-Code:
    grep Kostenstelle     $PFAD$DR awk '{printf("<TD>%s\n",$2)}' tee -a $HTMLFILE
        grep Bemerkung        $PFAD$DR 
    awk '{printf("<TD>%s %s %s %s %s\n",$2,$3,$4,$5,$6)}'   tee -a $HTMLFILE
        grep Fertigungspunkt  $PFAD$DR 
    awk '{printf("<TD>%s\n",$2)}'   tee -a $HTMLFILE
        grep Gebaeude         $PFAD$DR 
    awk '{printf("<TD>%s %s %s %s %s\n",$2,$3,$4,$5,$6)}'   tee -a $HTMLFILE
        grep Sauele           $PFAD$DR 
    awk '{printf("<TD>%s\n",$2)}'   tee -a $HTMLFILE
        grep Telefon          $PFAD$DR 
    awk '{printf("<TD>%s\n",$2)}'   tee -a $HTMLFILE
        grep Kabel
    -Nr         $PFAD$DR awk '{printf("<TD>%s %s %s %s %s\n",$2,$3,$4,$5,$6)}'   tee -a $HTMLFILE
        grep IP
    -Adresse       $PFAD$DR awk '{printf("<TD>%s\n",$2)}' tee -a $HTMLFILE
        grep MAC
    -Adresse      $PFAD$DR awk '{printf("<TD><FONT SIZE=-1></FONT>\n")}'   tee -a $HTMLFILE 

  • #2
    kann mir keiner helfen?

    Kommentar


    • #3
      Wenn $PFAD$DR die Datei ist, deren letzte Änderung du angeben sollst, versuche mal folgendes:

      date -r $PFAD$DR +'%d.%m.%Y %X' | awk '{printf("<TD>%s %s\n", $1, $2)}' | tee -a $HTMLFILE

      Dabei gibt dir date -f <datei> die letzte Änderung, +'%d.%m.%Y %X' formatiert die Ausgabe dieses Zeitstempels, dann wird das ganze an awk weitergereicht. Awk setzt die einzelnen Teile des Zeitstempels (Datum, Uhrzeit) in einen String ein.
      Der fertige String wird an tee weitergegeben und tee hängt ihn an $HTMLFILE an.

      Btw: Das HTML-File würde sich übrigens über ein paar </TD> freuen.
      Zuletzt geändert von onemorenerd; 24.06.2005, 10:28.

      Kommentar


      • #4
        morgen,

        also ich habe es so gemacht wie du es mir gesagt hast onemorenerd, aber lüppt auch nicht

        PHP-Code:
        grep Kostenstelle     $PFAD$DR awk '{printf("<TD>%s\n",$2)}' tee -a $HTMLFILE
            grep Bemerkung        $PFAD$DR 
        awk '{printf("<TD>%s %s %s %s %s\n",$2,$3,$4,$5,$6)}'   tee -a $HTMLFILE
            grep Fertigungspunkt  $PFAD$DR 
        awk '{printf("<TD>%s\n",$2)}'   tee -a $HTMLFILE
            grep Gebaeude         $PFAD$DR 
        awk '{printf("<TD>%s %s %s %s %s\n",$2,$3,$4,$5,$6)}'   tee -a $HTMLFILE
            grep Sauele           $PFAD$DR 
        awk '{printf("<TD>%s\n",$2)}'   tee -a $HTMLFILE
            grep Telefon          $PFAD$DR 
        awk '{printf("<TD>%s\n",$2)}'   tee -a $HTMLFILE
            grep Kabel
        -Nr         $PFAD$DR awk '{printf("<TD>%s %s %s %s %s\n",$2,$3,$4,$5,$6)}'   tee -a $HTMLFILE
            grep IP
        -Adresse       $PFAD$DR awk '{printf("<TD>%s\n",$2)}' tee -a $HTMLFILE
            date 
        -r $PFAD$DR +'%d.%m.%Y %X' awk '{printf("<TD>%s %s\n", $1, $2)}' tee -a $HTMLFILE 
        hab ich ein fehler gemacht? falsch eingesetzt?


        ja in der $PFAD$DR steht der dateiname drin

        und wegen der </TD>...ist mir auch schon aufgefallen dass die das nicht geschlossen habe...also die haben mir nicht gesagt dass ich es schließen soll...naja wenn ich diese aufgabe bewältigt haben sollte dank euerer hilfe werde ich die mail drauf hinweisen
        Zuletzt geändert von cengiz; 27.06.2005, 08:27.

        Kommentar


        • #5
          "Geht nicht" ist keine Fehlerbeschreibung! Was passiert genau (im Unterschied zu vorher)?

          Versuch mal der Reihe nach
          date -r /etc/passwd
          date -r $PFAD$DR
          date -r $PFAD$DR +'%d.%m.%Y %X'
          date -r $PFAD$DR +'%d.%m.%Y %X' | awk '{printf("<TD>%s %s\n", $1, $2)}'

          Kommentar


          • #6
            also bei dem ersten

            date -r ../dru_drucker

            sagt er mir:
            date: unzulässige option --r


            also da das erste nicht funktionier werden die andere wahscheinlich auch nicht funktionieren...

            Kommentar


            • #7
              Dann versuche 'date --help' oder 'date --help | grep FILE' oder 'man date'.
              Wenn dein date die Option wirklich nicht kennt, ist das auch kein Beinbruch. Man kann das auch anders machen, zum Beispiel mit
              stat -c %y $PFAD$DR

              Kommentar


              • #8
                also stat geht auch nicht...

                stat: not found

                geht das nicht irgendwie mit dem 'ls -al ' befehl da zeigt er mir doch das Datum an wann das letzte mal was geändert wurde.

                Kommentar


                • #9
                  Mannomann, ziemlich kastriertes System. Aber egal, ls geht auch:
                  PHP-Code:
                  ls -al $PFAD$DR awk '{printf("<TD>%s %s %s\n", $6, $7, $8)}' tee -a $HTMLFILE 

                  Kommentar


                  • #10
                    vielen dank onemorenerd

                    nur noch ein bitte

                    mein chef möchte das dort die dt. Datumsangabe steht

                    also: 17. Januar 2005

                    also keine uhrzeit

                    krieg ich das mit date hin..? oder ist da system hier zu "kastriert"

                    Kommentar


                    • #11
                      PHP-Code:
                      ls -al $PFAD$DR date +'%d %B %Y' awk '{printf("<TD>%s %s %s\n", $1, $2, $3)}' tee -a $HTMLFILE 
                      Verstehst du überhaupt, was du dort machst?

                      Kommentar


                      • #12
                        ich verstehe eigentlich was ich hier mache...man darf doch trotzdem fragen wenn man nicht weiterkommt.

                        also wenn ich ->date +'%d %B %Y' <- dazu füge gibt er mir keine Fehlermeldung aus gibt mir die Tabelle auch aus nur die ganzen Zellen wo er Datum rein füllen sollte sind alles leer.

                        hab den befehl auch in einer anderen seperaten datei asuprobiert und in der kommandozeile ausgeführt und er gibt mir nicht aus nicht mal eine Fehledmeldung.

                        Kommentar


                        • #13
                          Wenn du weißt was da passiert, warum testest du dann nicht jeden Part der Pipeline einzeln?

                          Ich tippe auf date ...
                          Vielleicht schaust du erstmal, was das Script auf dem Rechner macht, auf dem es später auch laufen soll.

                          Kommentar

                          Lädt...
                          X