Chciałbym znaleźć wszystkie pliki zawierające określony ciąg tekstu. Jak byś to zrobił w terminalu?
Chciałbym znaleźć wszystkie pliki zawierające określony ciąg tekstu. Jak byś to zrobił w terminalu?
Odpowiedzi:
grep -r 'text goes here' path_goes_here
man grepodkryć wszystkie wspaniałe opcje grep
No such file or directory Próbuję uzyskać tylko listę wystąpień tekstu. Jak zdobyć tę listę?
grep -lr "text pattern" ./ -s; grep -lr "text pattern" [PATH OF PARENT] -s
użyj reflektora
mdfind "text goes here"
mdfind -onlyin /home/user/Desktop -live "live update"
nie zapomnij spojrzeć na:
man mdfind
brew install ack
ack "text goes here"
find . |grep "text goes here"
grep -RnslI "text goes here"
Odpowiedź Ignacio jest świetna i pomogła mi znaleźć pliki zawierające określony tekst. Jedynym problemem, z jakim się spotkałem, było to, że po uruchomieniu tego polecenia zostaną wyświetlone wszystkie pliki, w tym jeden, w którym wzorzec nie był wyświetlany.
No such file or directory To właśnie widzę obok plików, które nie zawierają wzorca.
Jeśli zamiast tego dodasz -sdo polecenia, jak w
grep -lr "text pattern" ./ -s:; grep -lr "text pattern" [PATH DIRECTORY] -sjest używany, pokaże tylko, które pliki zawierają wzorzec.
Podobnie jeśli grep -nr "text pattern" ./ -s; grep -nr "text pattern" [PATH OF DIRECTORY] -sużyto polecenia, drukuje plik plus numer linii i wystąpienie wzorca.
Proszę mnie poprawić, jeśli moje zrozumienie jest błędne.
Odniesienie: Jak mogę Grep nie drukować błędów „Brak takiego pliku lub katalogu”?
grep ... 2>/dev/null. To rozwiązanie działa w przypadku większości programów, ponieważ zgłaszają komunikaty o błędach w strumieniu stderr, a nie w standardzie stdout. Używałem tego rozwiązania wiele razy find, ponieważ powiedzą, że odmówiono zgody na wiele plików.
No such file or directorywiadomości dla istniejących plików, robisz coś złego lub system jest uszkodzony. (2) Co to [PATH OF PARENT]ma z tym wspólnego?
[PATH OF DIRECTORY]że ktoś nieznany chciał wiedzieć, dlaczego umieściłem./