2012-03-12 8 views
20

Mam dużą listę plików dziennika w konkretnym katalogu, związanych z moją aplikacją java pod swoimi zdalnymi serwerami Linux.Linux: Wyszukaj konkretne słowo na liście plików w katalogu

Kiedy zrobić ls na temat tego konkretnego katalogu pokazuje listę plików (prawie 100 plików)

Teraz w tym listy plików, muszę dowiedzieć się konkretne słowo, proszę mi powiedzieć, w jaki sposób mogę to zrobić ??

Problem polega na tym, że nie może otworzyć każdy i każdy plik i szukać tego słowa używając/

Proszę mi powiedzieć, w jaki sposób można wyszukać słowo w liście plików usług.

+0

możliwy duplikat [Linux + znaleźć słowo w pliku w katalogu, ale szybko] (http: // stackoverflow.com/questions/2965050/linux-find-word-in-file-under-directory-but-quickly) – Shahbaz

+0

To znaczy, nie dokładnie duplikatu, ale odpowiedź jest również tam, co można łatwo znaleźć w powiązanych pytaniach. – Shahbaz

Odpowiedz

25

grep jest przeznaczony do tego.

Zastosowanie grep myword *

I sprawdzić man grep.

8

Jest to bardzo częste zadanie w Linuksie. Używam grep -rn ''. cały czas, aby to zrobić. -r dla rekursywnych (folder i podfoldery) -n więc daje numery linii, kropka oznacza bieżący katalog.

grep -rn '<word or regex>' <location> 

zrobić

man grep 

więcej opcji

1

również można spróbować wykonać następujące czynności.

find . -name '*.java' -exec grep "<yourword" /dev/null {} \; 

Robi wszystkie pliki z rozszerzeniem .java i przeszukuje „yourword” w każdym pliku, jeśli zawiera, to wyświetla plik.

Nadzieja to pomaga :)

31

Można użyć tego polecenia:

grep -rn "string" * 

n dla pokazujący numer linii z nazwa pliku r dla rekurencyjnego

0

Jesteś klub mógł znaleźć z exec następująco , aby uzyskać listę plików, a także występowanie słowa/ciągu, którego szukasz:

find . -exec grep "my word" '{}' \; -print 
Powiązane problemy