Ви хочете знайти файл, вмістом якого є конкретний текст?

Лялька зі збільшувальним склом

Деякі запитували мене про функціональність, яку мають останні версії Microsoft Windows, за допомогою якої ви можете використовувати їх пошукову систему для пошуку не тільки файлів з певним іменем, але і ви текст для пошуку файли, що містять такий текст, як PDF-файли, документи Microsoft Office, текстові файли .txt тощо. Ну, ви повинні знати, що у вашому дистрибутиві GNU / Linux ви можете робити це та багато іншого.

Ми вже робили невеликі підручники з LxA таких команд, як find, whereis, locate тощо. Зараз ми розповімо вам спосіб відтворити цю функціональність, про яку я говорив у першому абзаці з вашої консолі. Як я вже кажу, Linux надзвичайно гнучкий і має різні інструменти для пошуку речей, тут ми покажемо вам кілька різних способів, якими ви можете скористатися для пошуку файлів, у яких знайдено певний текст або рядок: пошук слова або рядка у файлах каталогу ви можете використовувати:

grep -s hola /home/*

grep -R hola /home/*

grep -Rw hola /home/*

У попередньому прикладі ми шукали б слово "привіт" у каталозі / home у всіх існуючих файлах. У першому випадку, з опцією -s виконується нерекурсивний пошук, тоді як з -R він стає рекурсивним, тому, якщо всередині є підкаталоги, він також буде шукати там ... Але будьте уважні, це буде шукати весь вміст з цим рядком «привіт», отже, якщо є фраза або слово на зразок «привіт», він також вважатиме це дійсним і показуватиме файли, що містять це, тобто він не шукає це слово певним чином. Щоб уточнити це, ви можете використовувати третій варіант.

Пам'ятайте, що він буде виконувати пошук з урахуванням регістру, тому попередні приклади ігноруватимуть такі речі, як Hello, HELLO, holA тощо. Щоб зробити шукати та ігнорувати регістр, тоді ви можете використовувати опцію -i.

Уявіть, що ви хочете здійснити пошук у зворотному порядку, тобто всі ті файли де не включайте рядок або слово конкретні. Можеш ти? Правда в тому, що так, наприклад:

grep -Rlv hola /home/*

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

У першому прикладі він покаже весь список файлів, які не містять слова "привіт", тоді як у другому випадку це зробить те саме, але знайдені файли виключаються розміщений у / home / Desktop ... До речі, цей параметр –exclude-dir = також може бути використаний у перших прикладах…


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: AB Internet Networks 2008 SL
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

  1.   Тіаго Віго - сказав він

    Граза per isto.