Jeśli chcesz uzyskać szybki wynik, użyj Spotlight. Również jeśli chcesz znaleźć pliki, które niekoniecznie przechowują tekst bezpośrednio w pliku, takie jak PDF lub ODF.
Joey,
Dobra rada, ale w moim przypadku nie jestem pewien, czy pliki są indeksowane, ponieważ znajdują się w sterownikach sieciowych. Są to również pliki XML należące do określonego programu.
Proponuję man grepodkryć wszystkie wspaniałe opcje grep
Ludovic Kuty
Wyświetla listę wszystkich plików, które istnieją na ścieżce i dodaje: No such file or directory Próbuję uzyskać tylko listę wystąpień tekstu. Jak zdobyć tę listę?
Możesz wybrać jedną z poniższych opcji w zależności od upodobań i potrzeb. Załóżmy, że musisz wyszukać pliki zawierające tekst - „asynchronicznie”, rekurencyjnie w bieżącym katalogu, możesz to zrobić na jeden z poniższych sposobów:
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.
Innym sposobem na uniknięcie tych nieznośnych błędów takich plików , jest ustawienie stderr potoku na zero. 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.
jpaugh
(1) Jeśli otrzymujesz 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?
G-Man,
@ G-Man Zredagowałem odpowiedź, aby pokazać, [PATH OF DIRECTORY]że ktoś nieznany chciał wiedzieć, dlaczego umieściłem./
CP3O
@ G-Man Używam Maca, a nie Ubuntu, nie jestem pewien, jak mój system się zepsuje, jeszcze na nim prawie nic nie zrobiłem.
Odpowiedzi:
źródło
man grep
odkryć wszystkie wspaniałe opcje grepNo 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
nie zapomnij spojrzeć na:
źródło
brew install ack ack "text goes here"
find . |grep "text goes here"
grep -RnslI "text goes here"
źródło
Możesz wybrać jedną z poniższych opcji w zależności od upodobań i potrzeb. Załóżmy, że musisz wyszukać pliki zawierające tekst - „asynchronicznie”, rekurencyjnie w bieżącym katalogu, możesz to zrobić na jeden z poniższych sposobów:
Korzystanie z grep
Za pomocą potwierdzenia
źródło
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 wgrep -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”?
źródło
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 razyfind
, 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./