mit grep an den Dateinamen, anstelle der gefundenen Zeile

Diskutiere mit grep an den Dateinamen, anstelle der gefundenen Zeile im Shell-Skripte Forum im Bereich Programmieren unter Linux/Unix; Hallo zusammen :) Ich habe auf meiner Maschine mehrere Log-Dateien mit dem Namen portal.log. Jetzt möchte ich einen Einzeiler haben, mit dem...

  1. #1 Kryptaesthesie, 25.05.2009
    Kryptaesthesie

    Kryptaesthesie Jungspund

    Dabei seit:
    02.02.2006
    Beiträge:
    23
    Zustimmungen:
    0
    Ort:
    NRW
    Hallo zusammen :)

    Ich habe auf meiner Maschine mehrere Log-Dateien mit dem Namen portal.log.
    Jetzt möchte ich einen Einzeiler haben, mit dem ich alle Log-Dateien ermitteln kann, die Einträge vom heutigen Datum (Format: yyyy-mm-dd) haben.
    Ich bin soweit, dass ich mir alle Einträge filtern kann:
    Code:
    clear ; time find / -name 'portal.log' -type f -exec cat {} \; | grep `date '+%Y-%m-%d'`
    
    Wenn ich dann bei grep -H hinschreibe, um den Dateinamen auszugeben, dann steht allerdings immer nur (standard input) anstelle des Dateinamens.

    Wie muss ich den Befehl umbauen, damit ich an den Pfad+Dateinamen komme, in dem Einträge von aktuellen Datum stehen?

    Danke euch schon mal für eure Hilfe!
    Gruß
    Gerrit :)
     
  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. #2 HeadCrash, 25.05.2009
    Zuletzt bearbeitet: 25.05.2009
    HeadCrash

    HeadCrash Routinier

    Dabei seit:
    16.05.2009
    Beiträge:
    482
    Zustimmungen:
    1
    Ort:
    Bayern
    Hallo

    das Problem ist, das cat den Dateinamen nicht mit an grep übergibt und an dieser stelle überflüßig ist.

    Code:
    clear ; time find / -name 'portal.log' -type f -exec grep -H `date '+%Y-%m-%d'` {} \;
    
    Da du nur den Dateinamen willst:

    Code:
    clear ; time find / -name 'portal.log' -type f -exec grep -H `date '+%Y-%m-%d'` {} \; | awk -F: '{ print ($1) }' | uniq
    
    mfg
    HeadCrash

    Edit:
    ncoh ein "| uniq" angehängt
     
  4. #3 Kryptaesthesie, 25.05.2009
    Kryptaesthesie

    Kryptaesthesie Jungspund

    Dabei seit:
    02.02.2006
    Beiträge:
    23
    Zustimmungen:
    0
    Ort:
    NRW
    Genau das, was ich gesucht habe! :)
    Vielen Dank!
     
Thema:

mit grep an den Dateinamen, anstelle der gefundenen Zeile

Die Seite wird geladen...

mit grep an den Dateinamen, anstelle der gefundenen Zeile - Ähnliche Themen

  1. grep + regex zum Log parsen

    grep + regex zum Log parsen: Hi zusammen, ich möchte ein Logfile gerne auf eine Stringkombination durchsuchen. D.h. im Log steht sowas wie: 2016-12-20 10:10:43 ETL started :...
  2. Kurztipp: Unerwünschte grep-Ausgaben vermeiden

    Kurztipp: Unerwünschte grep-Ausgaben vermeiden: Selbst aus altbekannten Programmen kann man oft noch einiges mehr herausholen - man muss sich nur einmal gründlich mit ihnen auseinandersetzen....
  3. GNU Grep 2.19 freigegeben

    GNU Grep 2.19 freigegeben: Von dem Textsuchprogramm GNU Grep ist jetzt Version 2.19 erschienen, die um durchschnittlich zehn Prozent schneller als die Vorgängerversion...
  4. KWin 4.90.1 wartet auf Bugreports

    KWin 4.90.1 wartet auf Bugreports: Martin Gräßlin, Maintainer des KDE-Fenstermanagers, hat den Code für KWin/5 als für gut genug befunden, um ihn im erweiterten Kreis testen zu...
  5. grep Ausgabe an ls übergeben

    grep Ausgabe an ls übergeben: Kann ich die Ausgabe von grep (es sind dateinamen des lokalen verzeichnisses) irgendwie gleich weiterpipen zu ls? Also so das ich zu den...