Команда grep: мощный инструмент для поиска текста в Терминале

Команда grep

Практически любой, у кого есть компьютер или кто с ним работает, знает сочетание клавиш Ctrl + F для поиска текста. Буква «F» означает «Найти», «найти» на английском языке и может использоваться, например, для поиска текста на веб-странице. Этот ярлык также доступен во многих приложениях, есть программы, которые используют букву «B» для поиска, но эти ярлыки работают, только если мы находимся внутри приложения и с открытым файлом. В Linux у нас есть очень мощные инструменты, которые мы можем запускать из Терминала и, если захотим, найдем любой текст, который есть в нашей команде, воспользуемся командой GREP.

GREP Это команда, которая поможет нам найти текст в указанном нами файле. Его название происходит от g / re / p, команды, которая работает для чего-то подобного в текстовом редакторе Unix / Linux. Как и многие другие команды, GREP Имеет много доступные варианты, которые мы добавим в виде букв и каждый будет служить своей задаче. Объединив эти параметры, мы сможем выполнять сложный поиск в одном или нескольких файлах. Здесь мы покажем вам все, что вам нужно знать.

con GREP найдем любой текст в любом файле

Прежде всего мы объясним доступные варианты:

  • i: не будет различать верхний и нижний регистр.
  • w: заставить его находить только определенные слова.
  • v: выбирает строки, которые не совпадают.
  • n: показывает номер строки с запрошенными словами.
  • h: удаляет префикс из имени файла Unix в выводе.
  • r: рекурсивный поиск в каталогах.
  • R: как -r, но следуйте всем символическим ссылкам.
  • l: показывает только имена файлов с выделенными строками.
  • c- Показывает только одно количество выбранных строк для каждого файла.
  • -Цвет: Отображает совпадающие шаблоны в цветах.

На изображении, которое вы указали в заголовке этой статьи, я искал слово «Изображения» в файле «830.desktop», который находится по этому пути. Как видите, я написал:

grep Imágenes /home/pablinux/Documentos/830.desktop

Имейте в виду, что в этой статье мы напишем примеры, которые необходимо изменить в соответствии с нашими поисковыми предпочтениями. Когда мы говорим «Файл», «Слово» и т. Д., Мы будем ссылаться на файл с его путем.. Если бы я просто написал «grep Images 830.desktop», я бы получил сообщение о том, что файл не существует. Или так было бы, если бы файл не находился в корневом каталоге.

Другие примеры:

  • grep -i images /home/pablinux/Documentos/830.desktop, где «изображения» - это слово, которое мы хотим найти, а остальное - файл с его путем. В этом примере выполняется поиск «изображений» в файле «830.desktop» без учета регистра.
  • grep -R изображения: он будет искать во всех строках каталога и всех его подкаталогах, где найдено слово «изображения».
  • grep -c пример test.txt: это будет искать нас и показывать общее количество раз, когда "example" появляется в файле с именем "test.txt".

С помощью grep мы также можем искать файлы

Если мы хотим найти файл 830.desktop, мы напишем следующую команду:

grep 830.desktop

Это выполнит найдите файл «830.desktop» в личной папкеДругими словами, если файл находится в личной папке другого пользователя, он не будет найден. Это самая нормальная вещь в мире, потому что у пользователя нет разрешения на доступ к чужому контенту без своего пароля.

Как выполнять рекурсивный поиск

GREP это также позволяет нам выполнять поиск в соответствии с повторяющимися правилами или рекомендациями. Например, прочтите все файлы в каждом каталоге, содержащие слово «Pablinux». Для этого напишем:

grep -r Pablinux /home/

Хорошо:

grep -R Pablinux /home/

Мы увидим результаты для «Pablinux» в отдельной строке, перед которой будет указано имя файла, в котором он был найден. Если мы не хотим видеть имена файлов в выводе данных, мы будем использовать опцию -h (от «скрыть»; скрыть):

grep -h -R Pablinux /home/

Мы можем объединить варианты вместе и написать «-hR» без кавычек.

Как выполнять точный поиск слов

Иногда есть файлы, которые содержат то, что мы хотим найти для чего-то еще. Например, это может произойти с нами в сложных словах, и, выполнив поиск по слову «леса», мы можем найти «рейнджеров». Если мы хотим найти точное слово мы будем использовать опцию -w:

grep -w bosques /home/pablinux/Documentos/vacaciones.txt

Вышеупомянутая команда будет искать «леса», игнорируя рейнджеров, в файле «vacation.txt» по указанному пути. Если мы хотим найти два разных слова, мы воспользуемся командой задать расширенное:

egrep -w bosques|plantas /ruta/del/archivo

Узнайте, сколько раз слово появляется в файле

GREP он также способен посчитайте, сколько раз встречается слово в файле. Для этого мы будем использовать опцию -c:

grep -c prueba /ruta/al/archivo

Добавив параметр -n, мы увидим номер строки, в которой появляется слово.

Обратный поиск

Мы также можем сделать обратное, то есть искать строки, не содержащие слова. Для этого мы будем использовать параметр -v, который будет выглядеть следующим образом:

grep -v la ruta/al/archivo

Приведенная выше команда отобразит все строки, в которых нет слова «the». Это может пригодиться в документах или списках, в которых слово повторяется много раз, и по какой-то причине нам нужен доступ к остальным строкам.

Доступ к системной информации с помощью GREP

Модель ПК

GREP он не только способен выполнять поиск в файлах. Это также возможность просматривать системную информацию. На предыдущем снимке экрана мы видим, как он показывает нам, какая у нас модель ПК (я знаю, что это не самый мощный ноутбук в мире). Для этого мы использовали команду:

cat /proc/cpuinfo | grep -i 'Model'

Хорошо:

grep -i 'Model' /proc/cpuinfo

Если мы хотим увидеть имена дисковых накопителей, мы напишем:

dmesg | egrep '(s|h)d[a-z]'

Как вывести список только совпадающих имен файлов

Если мы хотим увидеть список только с именами файлов, которые соответствуют поисковому запросу, мы будем использовать параметр -l, как показано ниже:

grep -l 'main' *.c

И если мы хотим видеть слово в цветах, мы напишем:

grep --color palabra /ruta/al/archivo

Как видите, команда GREP является очень мощный инструмент Это стоит особенно в тех случаях, когда мы не помним, где мы что-то написали или в программировании. Кроме того, он помогает нам узнавать информацию о системе так, как это понравится любителям Терминалов. Было ли вам полезно это руководство по команде поиска текстов? GREP?


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

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

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

*

*

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

  1.   Нордри сказал

    Привет!
    Когда вы говорите, что Grep также используется для поиска файлов, я не думаю, что это правильно, потому что, если вы запустите grep EXPRESSION и не передадите ему файл, он будет ждать ввода данных со стандартного ввода.
    Согласно странице руководства:
    grep ищет в именованных входных ФАЙЛАХ строки, содержащие совпадение с заданным ШАБЛОНОМ. Если файлы не указаны, или если указан файл «-», grep выполняет поиск в стандартном вводе.
    Вот почему вы можете использовать его в конвейерах, таких как тот, который анализирует вывод / proc / cpuinfo, передав вывод этой команды в качестве входных данных в grep, вы можете выполнить поиск.
    приветствия

  2.   Анна сказал

    Очень хороший пост.
    Вы очень хорошо это объясняете и сразу переходите к делу.