Angenommen, Sie haben zwei Protokolldateien in:
- C:/temp/my.log
- C:/temp/alsoMy.log
cd nach C:und benutze:
grep -r somethingtosearch temp/*.log
Sie erhalten eine Liste wie:
temp/my.log:somethingtosearch
temp/alsoMy.log:somethingtosearch1
temp/alsoMy.log:somethingtosearch2
Ich bin hier reingefallen, als ich genau nach dem gleichen Problem gesucht habe und vielleicht kann es anderen helfen.
Ich denke, die wirkliche Lösung ist:
cat *.log | grep -H somethingtosearch
Wenn Sie die vollständigen Pfade sehen möchten, würde ich cd
empfehlen in das oberste Verzeichnis (Ihres Laufwerks, wenn Sie Windows verwenden)
cd C:\
grep -r somethingtosearch C:\Users\Ozzesh\temp
Oder unter Linux:
cd /
grep -r somethingtosearch ~/temp
wenn Sie sich wirklich gegen die Filterung Ihres Dateinamens (*.log) wehren UND recursive
wollen (Dateien sind nicht alle im selben Verzeichnis), kombinieren find
und grep
ist der flexibelste Weg:
cd /
find ~/temp -iname '*.log' -type f -exec grep somethingtosearch '{}' \;