Za předpokladu, že máte dva soubory protokolu v:
- C:/temp/my.log
- C:/temp/alsoMy.log
cd to C:a použijte:
grep -r somethingtosearch temp/*.log
Zobrazí se vám seznam jako:
temp/my.log:somethingtosearch
temp/alsoMy.log:somethingtosearch1
temp/alsoMy.log:somethingtosearch2
Spadl jsem sem, když jsem hledal přesně stejný problém a možná to pomůže jiným.
Myslím, že skutečné řešení je:
cat *.log | grep -H somethingtosearch
Pokud chcete vidět úplné cesty, doporučil bych cd
do horního adresáře (vašeho disku, pokud používáte Windows)
cd C:\
grep -r somethingtosearch C:\Users\Ozzesh\temp
Nebo na Linuxu:
cd /
grep -r somethingtosearch ~/temp
pokud se opravdu bráníte filtrování názvu souboru (*.log) A chcete recursive
(soubory nejsou všechny ve stejném adresáři), kombinující find
a grep
je nejflexibilnější způsob:
cd /
find ~/temp -iname '*.log' -type f -exec grep somethingtosearch '{}' \;
Jak vytvořit závislosti automatické instalace rpm
Jak nahradit proměnné shellu ve složitých textových souborech