Chcesz znaleźć plik, którego zawartość to określony tekst?

Lalka z lupą

Niektórzy pytali mnie o funkcjonalność, jaką mają najnowsze wersje Microsoft Windows, w której za pomocą ich wyszukiwarki można znaleźć nie tylko pliki o określonej nazwie, ale także tekst do znalezienia pliki zawierające taki tekst, takie jak PDF, dokumenty Microsoft Office, pliki tekstowe .txt itp. Cóż, powinieneś wiedzieć, że w swojej dystrybucji GNU / Linuksa możesz to zrobić i wiele więcej.

Zrobiliśmy już małe samouczki w LxA dotyczące poleceń, takich jak znajdź, gdzie jest, zlokalizuj itp. Teraz pokażemy Ci, jak odtworzyć tę funkcjonalność, o której mówiłem w pierwszym akapicie z Twojej konsoli. Jak mówię, Linux jest niezwykle elastyczny i ma różne narzędzia do wyszukiwania rzeczy, tutaj pokażemy Ci kilka różnych sposobów wyszukiwania plików, w których znajduje się określony tekst lub ciąg znaków: wyszukaj słowo lub ciąg w plikach katalogu możesz użyć:

grep -s hola /home/*

grep -R hola /home/*

grep -Rw hola /home/*

W poprzednim przykładzie szukalibyśmy słowa „hello” w katalogu / home we wszystkich istniejących plikach. W pierwszym przypadku, z opcją -s wykonywane jest wyszukiwanie nierekurencyjne, podczas gdy z -R staje się rekurencyjne, więc jeśli w środku są podkatalogi, przeszuka również tam ... Ale uwaga, to przeszuka całą zawartość z tym ciągiem „hello”. Dlatego jeśli istnieje fraza lub słowo takie jak „hello”, również uzna je za prawidłowe i pokaże pliki, które to zawierają, to znaczy nie wyszukuje tego słowa w określony sposób. Aby było to bardziej szczegółowe, możesz skorzystać z trzeciej opcji.

Pamiętaj, że będzie wyszukiwać z uwzględnieniem wielkości liter, więc poprzednie przykłady ignorowały takie rzeczy, jak Hello, HELLO, holA itp. Zrobić szukaj i ignoruj ​​wielkość liter, możesz użyć opcji -i.

Wyobraź sobie, że chcesz przeprowadzić wyszukiwanie w odwrotnej kolejności, czyli wszystkie pliki, w których nie dołączaj ciągu znaków ani słów konkretny. Mógłbyś? Prawda jest taka, że ​​tak, na przykład:

grep -Rlv hola /home/*

grep --exclude-dir= /home/Desktop -Rlv /home/*

W pierwszym przykładzie pokaże całą listę plików, które nie zawierają słowa „cześć”, podczas gdy w drugim przypadku zrobi to samo, ale znalezione pliki są wykluczane hostowane w / home / Desktop… Nawiasem mówiąc, ta opcja –exclude-dir = może być również użyta w pierwszych przykładach…


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: AB Internet Networks 2008 SL
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   James Vigo powiedział

    Grazas per isto.