Biorąc pod uwagę tę przykładową strukturę folderów:
/folder1/file1.txt /folder1/file2.djd /folder2/file3.txt /folder2/file2.fha
Jak przeprowadzić rekursywne wyszukiwanie tekstu we wszystkich *.txt
plikach z grep
„/”?
( "grep -r <pattern> *.txt"
kończy się niepowodzeniem po uruchomieniu z „/”, ponieważ .txt
w tym folderze nie ma żadnych plików).
command-line-interface
grep
search
Anders Sandvig
źródło
źródło
-
.grep
jest szybszy odfind
.może być w stanie wykorzystać swojego
zsh
„sEXTENDED_GLOB
opcji ( dokumentacja )źródło
Możesz zajrzeć na stronę http://betterthangrep.com , która oferuje funkcje wyboru plików do wyszukiwania według typu pliku.
źródło
źródło
Odpowiedź Mannisa rozwinęłaby nowy proces grep dla każdego pliku tekstowego. Jeśli masz tam wiele plików tekstowych, możesz rozważyć grepowanie każdego pliku i wybranie plików .txt, gdy to zrobisz:
To wymaga więcej miejsca na dysku, ale i tak może być szybsze.
źródło
Jest rok 2019 i nie ma mowy, żebym nadal używał grep do rekurencyjnego wyszukiwania tekstu.
Dzisiejsze odpowiedzi IMHO powinny obejmować ripgrep :
źródło