Команда 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?


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

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

*

*

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

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

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

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

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