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 grep
odkryć 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 -s
do polecenia, jak w
grep -lr "text pattern" ./ -s
:; grep -lr "text pattern" [PATH DIRECTORY] -s
jest 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] -s
uż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 directory
wiadomoś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./