GNU/Linux >> Znalost Linux >  >> Linux

Jak zobrazit výsledek grep s úplnou cestou nebo názvem souboru

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 '{}' \;

Linux
  1. Grep Jak potlačit zobrazení neshodného souboru?

  2. Jak se popasovat s barevným výstupem

  3. Jak ohraničit -f nejnovější soubor protokolu s daným vzorem

  1. Jak získat název souboru pouze pomocí Linuxu „najít“?

  2. Jak 'grep' nepřetržitý proud?

  3. Jak vytvořit soubor v Linuxu z okna terminálu?

  1. Jak grep \nv souboru

  2. Jak smazat soubor s tímto názvem na linuxu:-]???????q

  3. Jak podložit soubor pomocí FF pomocí dd?