mit grep an den Dateinamen, anstelle der gefundenen Zeile

K

Kryptaesthesie

Jungspund
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 :)
 
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
 
Zuletzt bearbeitet:

Ähnliche Themen

NagiosGrapher 1.7.1 funktioniert nicht

Server-Monitoring mit RRDTool

Zurück
Oben