Как найти текст в содержимом файла

Может быть, вам и не нужно было это делать, может, вы однажды попробовали и подали в отставку. В любом случае подтверждаю то, о чем вы, наверное, уже подозревали: не может искать текст в содержимом файла из Nautilus. На всякий случай, если вы все еще потерялись, пытаясь понять, как, черт возьми, искать что-то в Nautilus, рядом с адресной строкой есть кнопка со значком увеличительного стекла (проще, нажмите Ctrl + F). Отсюда вы можете искать папки и файлы по имени, но не можете искать текст в содержимом файлов. Тогда как нам это сделать? Вот решение ... ну, половина. 🙂

Gnome-Search-Tool, всего в двух щелчках мыши ...

Выберите «Места»> «Найти файлы»… Вы также можете запустить этот инструмент, нажав Alt + F2 и набрав инструмент поиска gnome.

Когда окно откроется, щелкните там, где написано Посмотреть другие варианты. Там это позволит вам ввести текст для поиска. Кроме того, вы сможете ввести другие параметры поиска, такие как дата изменения, размер, владелец файла и т. Д.

Через терминал

Возможно, вы использовали команду GREP если хорошо знаете, для чего это нужно. Что ж, пора учиться.

Это команда, которая используется именно для поиска текста в содержимом файлов. Вы можете выполнять любой поиск, который только можете придумать. Как и у любой команды терминала, ее секрет в том, чтобы хорошо знать доступные параметры.

Приведем конкретный пример. Предположим, вы хотите найти в вашей папке все файлы, содержащие фразу "давайте использовать Linux". / СМИ / победа / вещи.

Команда для выполнения будет следующей:

grep -lir "давайте использовать linux" "/ media / win / stuff"

Параметр -l указывает вам распечатать имена файлов, в которых находится запрошенный текст. Параметр -i нечувствителен к регистру. Параметр -r, который выполняет рекурсивный поиск по указанному пути.

Если вы хотите ограничить поиск определенным типом файла, сначала перейдите по пути, по которому grep должен искать.

компакт-диск / медиа / победа / материал

Затем я написал нечто похожее на это, адаптировав его под ваши нужды:

grep -lir "давайте использовать linux" * .pdf

Для получения дополнительной информации предлагаю написать человек grep в терминале. 🙂 Мануал не кусается!

Оба инструмента ищут простые текстовые файлы, содержащие указанный текст. Они не используются для поиска текста в двоичных файлах, таких как PDF, DOC, ODT и т. Д. 🙁 На самом деле вам нужно сделать что-то более сложное, что я обязательно опубликую в одном из следующих постов. 🙂

Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

16 комментариев, оставьте свой

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован.

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   Лев сказал

    Что ж, отвечаю себе 🙂
    grep -r "7005" * –include = *. xml

    вы можете использовать –include или –exclude с -r

    ????

    1.    David сказал

      Как насчет Лео, у меня это работало так (с двойным «-» для включения):
      grep -r "7005" * –include = *. xml

      привет

  2.   Лев сказал

    Деталь, в последнем примере: grep -lir "давайте использовать linux" * .pdf, если я использую * .xml (например), он не выполняет поиск рекурсивно, а ищет каталог с формой * .xml, а не в все файлы * .xml, находящиеся в подкаталогах. Я просто искал решение этой проблемы, кто-нибудь знает?
    Вы можете просто использовать *, но он включает все файлы, которых я хочу избежать.

  3.   Эрнандо сказал

    очень хорошо.

  4.   Computer Guardian сказал

    Совершенно, ясно и хорошо объяснено.
    Как улучшить укажите, что в команде
    grep -lir "давайте использовать linux" "/ media / win / stuff"
    цитаты необходимо оставить следующим образом
    grep -lir "давайте использовать Linux" / media / win / stuff
    привет

  5.   Давайте использовать Linux сказал

    Точно. Я ставлю кавычки на случай, если кто-то заменит мой пример путем, который включает пробелы. Я ожидал, что в будущем появятся претензии: эй, у меня это не работает !! Ха-ха ...
    В любом случае, то, что вы говорите, правда. В этом примере много кавычек, но если вы хотите ввести путь, включающий пробелы, вы должны поставить кавычки.
    Сделал оговорку. Приветствую и большое спасибо за комментарии!

  6.   фризиет сказал

    Отличный вклад, очень хорошо объясненный: простой и понятный. Жду того будущего поста, о котором вы объявите в конце.
    привет

  7.   Давайте использовать Linux сказал

    Да, я уже добавил его в свой список дел! 🙂
    Ура! Павел.

  8.   Фернандо сказал

    Очень хорошо! действительно полезно и отлично работает!

    Спасибо!

  9.   Густаво Менничелли сказал

    Уважаемый, увидев содержание ваших комментариев, которое меня обнадеживает, я решил попросить вас помочь с видео о lenovo T430. Я использую linux Mint с версии 9, теперь я установил версию 17 KDE, и у меня проблемы с разрешением экрана. видео Я не могу использовать разрешение 1920 × 1080, в котором есть пластина. вы не могли бы мне помочь?
    спасибо

  10.   веб-страницы Валенсии сказал

    хорошо, чувак, спасибо, что обслужил меня !!! salu2

  11.   Guille сказал

    Эти детали - то, что разрушило замечательные бесплатные системы в 2015 году, и по-прежнему не может выполнять текстовый поиск из файлового браузера? И хуже всего то, что я помню, что лет 10 назад это было возможно, почему мы возвращаемся в некоторые базовые вещи?
    Да, простая команда, да, это бесплатно, у вас есть код и другие, но я думаю, что этот тип деталей отмечает начинающего пользователя, который приближается к миру gnu / linux.

    1.    Моргул сказал

      Речь идет о поиске содержимого внутри файлов, а не о фильтрации их по имени 🙂

  12.   Иезекииль сказал

    Всегда полезно запланировать такие публикации 😉

  13.   ВольфМаксы сказал

    В MacOSX вы можете выполнить эту команду: (Я полагаю, что в Linux так и будет, поскольку Linux и MacOSX - семейные «младшие братья».)

    mdfind -onlyin [путь к каталогу, в котором мы будем искать] query ["текст для поиска"]
    используйте кавычки для текста с пробелами. 😉

    Например:
    mdfind -onlyin Учебная программа по запросу документов

  14.   Эрнан сказал

    Эти команды и их огромная полезность, и их так легко делиться, спасите родину.!

bool (истина)