Как включить SSH в Ubuntu 20.04
Безопасный доступ к вашей машине Ubuntu из любого места
Понимание команды grep с практическими примерами для простой фильтрации и отображения содержимого файла
GREP
означает «Печать глобального регулярного выражения». Это полезная утилита командной строки, предоставляемая Linux, для поиска текстовой строки, которая соответствует шаблону, предоставленному пользователем.
grep
принимает ввод от пользователя в виде строк или слов, которые пользователь желает искать в конкретном файле. Затем команда проверяет указанный пользователем файл на наличие этого шаблона и затем возвращает строки, соответствующие предоставленному шаблону.
Он отлично справляется со своей задачей, фильтруя содержимое файла, что упрощает нашу задачу по поиску определенного содержимого в одном или нескольких файлах одновременно.
В этой статье давайте grep
подробно рассмотрим работу команды с некоторыми практическими примерами.
Параметры, доступные с grep
командой
Это некоторые из основных параметров, которые вы будете часто использовать с grep
командой.
Вариант | Описание |
-i |
Для поиска без учета регистра |
-r |
Для рекурсивного поиска всех файлов в указанном каталоге и его подкаталогах |
-c |
Чтобы отобразить общее количество появлений строки |
-v |
Чтобы отобразить несовпадающие строки |
-w |
Фильтр для этого конкретного слова, используемого отдельно |
Используя grep
команду
grep
Команда обычно используется с |
утилитой pipe ( ). Его можно реализовать с помощью оболочки оболочки, если вы хотите использовать его с некоторыми другими командами Linux. Хотя, grep
также можно использовать индивидуально без |
утилиты pipe ( ).
Давайте посмотрим на некоторые из основных синтаксисов grep
команды с утилитой pipe и без нее.
Позвольте мне сначала показать вам образец текстового файла, который я буду использовать для иллюстрации grep
команды.
INDIA IS A BEAUTIFUL COUNTRY OF PEACE LOVING PEOPLE.
india stands on three pillars of legislature, executive and judiciary.
India Is a Beautiful Country Of Peace Loving People.
India cares for the people as it's resource
cartesian coordinates
importance of all th cartesian coordinates.
Following are two empty lines.
use of a bullock cart is a common sight in the village for the agrarian chores.
This is the end of the sample file.
grep
используется с утилитой pipe (|)
grep
Команда может быть реализована вместе с другими командами Linux с помощью каналов оболочки. Например, использование cat
команды для отображения содержимого файла, но в то же время конвейерная передача вывода с помощью grep
команды для отображения только содержимого, которое вы хотите видеть. Это станет более ясным, когда мы рассмотрим пример.
Синтаксис :
[command] | grep [string]
Пример :
cat sample.txt | grep legislature
Здесь я использовал cat
команду для отображения некоторых строк из файла sample.txt. Должны отображаться только те строки, которые содержат слово «законодательный орган», и игнорировать остальные строки.
Выход :
[email protected]:~/workspace$ cat sample.txt | grep legislature
india stands on three pillars of legislature, executive and judiciary.
[email protected]:~/workspace$
grep
используется без утилиты pipe (|)
grep
можно даже использовать напрямую как отдельную команду без использования |
утилиты pipe ( ).
Синтаксис :
grep [string_to_be_searched] [filename]
Пример :
grep India sample.txt
Выход :
India Is a Beautiful Country Of Peace Loving People.
India cares for the people as it's resource
Таким образом, я использовал grep
команду непосредственно для фильтрации строк, содержащих строку «Индия», из текстового файла «sample.txt».
Поиск без учета регистра с помощью grep
команды
Linux очень осторожно относится к чувствительности к регистру, когда мы запускаем команды на терминале. Это требует, чтобы пользователь был осторожен с регистром строки, введенной в команду.
Давайте посмотрим на это на примере.
grep peace sample.txt
В этом случае мы не получим вывода, поскольку в примере файла нет слова «мир». У нас есть слово «Мир» с большой буквы. Слово то же самое, но когда мы используем grep
команду без какой-либо опции, она ищет точное совпадение в файле, игнорируя любые изменения в регистре букв.
Чтобы избежать этой двусмысленности, вы можете просто использовать -i
параметр, который буквально говорит grep
команде «забудьте о случае, когда я ввел строку, и просто найдите все подходящие шаблоны в файле».
Синтаксис:
grep -i [string] [filename]
Пример :
grep -i peace sample.txt
Выход :
INDIA IS A BEAUTIFUL COUNTRY OF PEACE LOVING PEOPLE.
India Is a Beautiful Country Of Peace Loving People.
Все совпадающие строки отображаются независимо от того, в каком случае находится соответствующая строка.
Рекурсивный поиск с помощью grep
команды
Эта -r
опция будет искать все файлы в каталоге и во всех его подкаталогах, которые соответствуют строковому шаблону, предоставленному пользователем в команде.
Синтаксис :
grep -i -r [string] [file_path]
Пример :
grep -i -r tomcat /home/gaurav/workspace
Строка здесь - «кот», и поиск по ней будет выполняться в рабочей области каталога. Все подкаталоги и файлы в каталоге «рабочая область» также будут просканированы на соответствие предоставленному строковому шаблону.
Выход :
./context_log.policy:// catalina.policy - Security Policy Permissions for Tomcat 7
./context_log.policy:// Note: If tomcat-juli.jar is in ${catalina.base} and not in ${catalina.home},
./context_log.policy:// grant codeBase "file:${catalina.base}/bin/tomcat-juli.jar" {..}
./context_log.policy:grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" {
./context_log.policy: permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.websocket.server";
./context.xml:
./catalina.properties:# - Tomcat Bootstrap JARs
./catalina.properties:# - Tomcat API JARs
./catalina.properties:# - Tomcat JARs
./catalina.properties:# - Common non-Tomcat JARs
./catalina.properties:org.apache.catalina.startup.TldConfig.jarsToSkip=tomcat7-websocket.jar
./catalina.properties:tomcat.util.buf.StringCache.byte.enabled=true
./catalina.properties:#tomcat.util.buf.StringCache.char.enabled=true
./catalina.properties:#tomcat.util.buf.StringCache.trainThreshold=500000
./catalina.properties:#tomcat.util.buf.StringCache.cacheSize=5000
./server.xml: pathname="conf/tomcat-users.xml" />
./server.xml:
./tomcat-users.xml:
./tomcat-users.xml:
./web.xml:
./web.xml:
ПРИМЕЧАНИЕ . При использовании -r
параметра с grep
командой нам необходимо указать путь к файлу, а не имя файла.
Поиск целых слов только с помощью grep
команды
Часто бывает так, что вы будете искать одно слово, но в конечном итоге заполните свой терминал совпадающими строками, которые действительно содержат ваше совпадающее слово, но не как отдельное слово. Вы можете увидеть строки, которые содержат некоторые слова, часть которых является введенной вами строкой.
Запутались с этим? Не волнуйтесь, это будет намного легче понять, если вы получите пример.
Пример :
Здесь я хочу найти отдельное слово «тележка» и отобразить все строки, соответствующие этому слову, в файле «sample.txt».
grep -i cart sample.txt
Выход :
Cartesian coordinates
importance of all the Cartesian coordinates.
use of a bullock cart is a common sight in the village for the agrarian chores
The cart went missing as the boy left it loose.
В выводе вы можете заметить, что слово «декартово» также содержит слово «тележка» и, следовательно, строки, содержащие слово «декартово», также отображаются, даже если мы не хотим, чтобы они отображались.
Вы можете использовать -w
опцию с grep
командой, чтобы разрешить эту неоднозначность.
Синтаксис :
grep -i -w [string] [filename]
Пример :
grep -i -w cart sample.txt
Выход :
use of a bullock cart is a common sight in the village for the agrarian chores.
The cart went missing as the boy left it loose.
Теперь, когда вы использовали w
опцию -, grep
вы получите только те строки, в которых слово «тележка» используется целиком.
Перевернутый поиск с помощью grep
команды
grep
Команда также может использоваться в обратном порядке. Мы можем использовать grep
команду наоборот, скрывая совпадающие строки и отображая только те строки, где совпадения не обнаружены. Вы можете сделать это, используя -v
опцию с grep
командой.
Синтаксис :
grep -i -v [string] [filename]
Пример :
grep -i -v resource sample.txt
Выход :
INDIA IS A BEAUTIFUL COUNTRY OF PEACE LOVING PEOPLE.
india stands on three pillars of legislature, executive and judiciary.
India Is a Beautiful Country Of Peace Loving People.
cartesian coordinates
importance of all th cartesian coordinates.
use of a bullock cart is a common sight in the village for the agrarian chores.
This is the end of the sample file.
В выводе отображаются все остальные строки, кроме строки, содержащей слово «ресурс».
Подсчет вхождений совпадающей строки
Вывод grep
команды обычно очень длинный, если данные в файле обширны. Чем больше совпадений, тем длиннее выходные данные grep
команды. Linux предоставляет вам возможность отображать количество совпадений.
Синтаксис :
grep -i -c [string] [filename]
Пример :
grep -i -c india sample.txt
Выход :
[email protected]:~/workspace$ grep -i -c india sample.txt
4
[email protected]:~/workspace$
Здесь вывод - это число, которое представляет собой количество появлений слова «Индия» в файле sample.txt.
ПРИМЕЧАНИЕ . Я использовал эту -i
опцию в каждом примере, чтобы не беспокоиться о чувствительности к регистру. Если вы точно знаете регистр слова, которое ищете, то можете спокойно опустить эту -i
опцию.
Заключение
В grep
этом руководстве мы изучили основные способы использования команды в системах Linux. Мы также научились отображать различный контент, который наилучшим образом соответствует нашим требованиям, и не перегружать терминал множеством очередей. grep
Команда, безусловно, сэкономит время при сканировании больших наборов данных.
Безопасный доступ к вашей машине Ubuntu из любого места
Настройте собственный VPN с помощью Wireguard
Одна из первых вещей, которые вы должны установить на свой Linux-компьютер
Простое руководство, которое поможет вам перенести файлы в удаленную систему из вашей системы Linux с помощью команды scp.
Предоставьте root-права любому пользователю с sudo в Ubuntu 20.04 LTS
В этой статье объясняется процесс добавления аутентификации ключей SSH на сервер Ubuntu 20.04 и отключения аутентификации на основе пароля.
Speedtest.net - это сервис для проверки скорости вашего интернет-соединения. Он использует ближайший сервер speedtest.net для загрузки
За исключением всего лишнего, вот список лучших бесплатных видеоредакторов для Ubuntu, которые вы можете использовать для создания потрясающих видеороликов.
Хотя вы всегда можете использовать приложение для слайд-шоу собственных обоев Ubuntu, вот несколько приложений для загрузки и динамической установки обоев.
Установите TensorFlow с помощью Python (pip) или контейнера Docker