grep

Grep для нескольких шаблонов или строк

Grep для нескольких шаблонов или строк
Global Regular Expression Print или Grep - мощная утилита, используемая в операционной системе Linux. С помощью grep вы можете искать в файлах с разными шаблонами или строками, применяя ограничения. Функция Grep принимает один или несколько входных файлов для поиска в каталогах или подкаталогах. Для поиска множества шаблонов мы используем оператор ИЛИ. Этот оператор используется для разделения шаблонов, записанных в команде. Оператор изменения «|» используется с обратной косой чертой. Синтаксис для поиска различных регулярных выражений следующий:

Синтаксис

$ grep 'шаблон1 \ | шаблон2' имя файла

Регулярное выражение всегда пишется в одинарной цитате. Два имени разделяются обратной косой чертой и оператором изменения. Команда заканчивается именем файла. При рекурсивном выполнении grep используется каталог или весь путь вместо одного имени файла.

Предварительное условие

В этой статье мы узнаем, как работает grep при поиске по нескольким шаблонам и строкам. Для этого на вашем виртуальном компьютере должна быть запущена операционная система Linux. Вам необходимо установить его в вашей системе. После настройки у вас будет доступ к использованию всех приложений. После входа в систему, указав пароль, перейдите в командную строку оболочки терминала, чтобы продолжить.

Поиск по нескольким образцам в файле с помощью Grep

Если мы хотим найти несколько шаблонов или строк в определенном файле, используйте функцию grep для сортировки внутри файла с помощью более чем одного входного слова в команде. Мы используем '\ |' операторы для разделения двух шаблонов в команде.

$ grep 'техническая \ | работа' файл.текст

Команда представляет, как работает grep. Оба упомянутых файла будут найдены в filea.текст. Искомые слова выделяются во всем тексте вывода.

Для поиска более двух слов мы продолжим добавлять их тем же методом.

файл $ grep 'graphic \ | photoshop \ | posters'.текст

Искать в нескольких строках без учета регистра

Чтобы понять концепцию чувствительности к регистру в функции grep в Linux, рассмотрим следующий пример. Две команды работают с grep. Один с -i, а другой без. Этот пример демонстрирует различия между командами. Первый показывает, что в данном файле будет выполняться поиск двух слов. Однако, как указано в команде «Aqsa», она начинается с заглавной буквы A. Таким образом, он не будет выделен, потому что в конкретном файле этот текст находится в нижнем регистре.

$ grep 'Aqsa \ | sister' file20.текст

Будет рассмотрено только слово «сестра», которое будет отображаться в выводе.

Во втором примере мы проигнорировали чувствительность к регистру, используя флаг «-I». Эта функция будет искать оба слова, и вывод будет выделен. Независимо от того, написано ли слово Aqsa заглавными буквами или нет, grep будет искать такое же совпадение в тексте внутри файла. Итак, обе команды по-своему полезны.

$ grep -I 'Aqsa \ | sister' file20.текст

Подсчет нескольких совпадений в файле

Функция подсчета помогает в подсчете появления слова или слов в конкретном файле. Например, если вы хотите знать об ошибках, возникающих в системе. Подробности записываются в файл журнала. Чтобы сохранить эту информацию в определенной папке, вы напишете путь к папкам. Этот пример показывает, что 71 ошибка произошла в файлах журнала.

Поиск точных совпадений в файле

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

$ -iw 'хамна \ | дом' файл21.текст

Здесь -I также используется для удаления чувствительности к регистру при поиске текста.

Как видно на фото, результаты не такие. Первая команда выводит все связанные данные с целыми строками, а вторая команда показывает, насколько точные данные совпадают с помощью grep при поиске нескольких строк.

Grep для более чем одного шаблона в определенном типе расширения файла

Поиск ведется по всем файлам. Вам решать, будете ли вы искать, указав имя файла. Он будет искать только в определенных файлах. Но если указать расширение файла, поиск данных будет выполняться во всех файлах с одинаковым расширением. Есть два разных примера, чтобы показать связанный результат. В первом примере файлы ошибок будут учитываться во всех файлах .расширение журнала. «-C» используется для подсчета.

$ grep -c 'предупреждение \ | ошибка' / var / log / *.бревно

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

Во втором примере мы использовали два слова в наших файлах в Linux с расширением текста. Все данные будут представлены в виде цифр. 0 означает отсутствие совпадающих данных, тогда как значение, отличное от 0, показывает, что совпадение существует.

$ grep -c 'акса \ | мой' / дом / аксаясин / *.текст

Рекурсивный поиск нескольких шаблонов в файле

По умолчанию используется текущий каталог, если в команде нет каталога, указанного в команде. Если вы хотите выполнить поиск в каталоге по вашему выбору, вы должны указать его. Оператор «-r» используется для рекурсивного вызова grep./ home / aqsayasin / показывает путь к файлам, а *.txt показывает расширение. Текстовые файлы будут целью grep для рекурсивного поиска.

$ grep -R 'технический \ | бесплатно' / home / aqsayasin / *.текст

Желаемый результат выделяется в результате, показывая существование этих слов.

Заключение

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

Лучшие приложения для сопоставления геймпадов для Linux
Если вам нравится играть в игры на Linux с помощью геймпада вместо стандартной системы ввода с клавиатуры и мыши, для вас есть несколько полезных прил...
Полезные инструменты для геймеров Linux
Если вам нравится играть в игры на Linux, скорее всего, вы использовали приложения и утилиты, такие как Wine, Lutris и OBS Studio, для улучшения игров...
Игры HD Remastered для Linux, ранее не выпускавшиеся для Linux
Многие разработчики и издатели игр придумывают HD-ремастеры старых игр, чтобы продлить жизнь франшизы, порадовать фанатов, требующих совместимости с с...