grep wypisuje każdy plik jeden raz

8

Szukam tekstu w plikach, ale trzy to dużo plików, a szukany tekst pojawia się kilka razy w jednym pliku, jak mogę otrzymać listę plików zawierających szukany tekst z każdym plikiem wymienionym tylko raz?

Gość1624
źródło

Odpowiedzi:

15
grep -l xyz file*

gdzie xyz to wzorzec wyszukiwania, a plik * to lista plików do przeszukania

Guru
źródło
1

grep -l LIST PATTERNjest droga. Alternatywnie można użyć xargstej samej rzeczy:

xargs grep "My Search Pattern"  < input.txt 

xargsjest szczególnie przydatny, gdy chcesz użyć grepkilku nazw plików przekazywanych z potoku, na przykład:

find ~/Documents ~/bin -print0 | xargs -0 grep 'Search Term'
Sergiy Kolodyazhnyy
źródło