Anonim

Глобальний регулярний вираз виводу або просто grep - одна з найбільш універсальних і поширених команд в системах Unix та Linux. Команда шукає одиночні або декілька вхідних файлів та відповідні лінії візерунка. В результаті ви отримуєте стандартний висновок із відповідними лініями.

Якщо ви не вказуєте файл, grep використовує стандартний вхід для зчитування, і, швидше за все, це буде результатом іншої команди. В цілому, grep має прямий синтаксис, використовуючи його з іменем файлу або без нього.

У цій статті ви знайдете швидкий огляд синтаксису grep та деяких основних команд, якими ви можете користуватися з іменем файлу або без нього.

Перед початком роботи

Усі команди grep дотримуються одного і того ж синтаксису, і кожен параметр має певну функцію. Ось рядок зразка:

греп ПАТЕРН

Ви можете використовувати ряд опцій grep для керування виведенням команди, і число починається з нуля. PATTERN вказує шаблон пошуку, який потрібно застосувати. Що стосується ФАЙЛу, то сюди йдуть ім’я або імена файлів, але параметр можна встановити в нуль.

Пошук рядків у командному виході

Як зазначено, вам не потрібно використовувати конкретні вхідні файли. Вихід іншої команди може використовуватися в grep, щоб отримати рядки, які точно відповідають шаблону. Це можна використовувати для визначення того, які процеси є активними в системі. Це зразок синтаксису команд:

$ ps -ef | grep www-дані

Отриманий результат повинен виглядати приблизно так:

www-дані 18247 12675 4 16:00? 00:00:00 php-fpm: пул www
root 18272 17714 0 16:00 pts / 0 00:00:00 grep –color = auto –exclude-dir = .bzr –exclude-dir = CVS –exclude-dir = .git –exclude-dir = .hg –exclude- dir = .svn www-data
www-data 31147 12770 0 жовтня 22? 00:05:51 nginx: робочий процес
www-data 31148 12770 0 жовтня 22? 00:00:00 nginx: процес кешування кеша

Існує спосіб виключити командний рядок, який містить grep-процеси. Для цього вам потрібно використовувати $ ps -ef | grep www-data | команда grep -v grep .

Греп Пошук слів

Ви можете використовувати команди grep для пошуку конкретних слів у файлах вашої системи. Насправді не потрібно вводити ціле слово. Наприклад, ви можете просто використовувати gnu, і команда виводить усі слова, які містять ці три букви. Синтаксис команд:

$ grep gnu / usr / share / слова

Після виконання команди ваш вихід повинен виглядати приблизно так:

синус
гну
interregnum
lgnu9d
лігнум
magnum
магнусон
сфагнум
криловий горіх

З іншого боку, ви можете шукати саме те певне слово або рядок літер і виключати все інше. Для цього вам потрібно додати до синтаксису -w або –word - regexp . У цьому випадку команда example виглядає приблизно так - $ grep -w gnu / usr / share / words .

Примітка. Для граматичних цілей деякі команди мають в кінці повну зупинку. Вам не потрібен цей розділовий знак для grep. Виключіть його, коли ви копіюєте / вставляєте команду.

Чи чутливий кейс Grep?

Усі команди grep за замовчуванням залежать від регістру. Це означає, що використання малих та великих літер змінює саму команду. Однак ви можете додати до командного рядка - i ( - ignore - case ) та дозволити системі шукати слова верхнього та нижнього регістру.

Наприклад, ваша команда введення може виглядати так, як це $ grep -i Zebra / usr / share / words . Це дозволяє результатам відповідати будь-якій комбінації великих і малих літер, коли він шукає зебру.

Номери рядків

Використовуйте параметр –line-number або просто -n, щоб визначити кількість рядків з рядком, який відповідає конкретному шаблону пошуку. В результаті ви отримуєте стандартний вихід з номером рядка перед ним.

Точна команда може виглядати приблизно так : $ grep -n 10000 / etc / services . Після виконання, вихід забезпечує всі відповідність, яку він знайде, на 10000 рядків. Перегляньте зразок нижче:

10423: ndmp 10000 / тс
10424: ndmp 10000 / udp

Файли в папках

Ви можете поставити зірочку за командою grep замість імені файлу. Використовуючи критерії gnu знову команда виглядає як ця $ grep gnu *, а у вихідному списку відображаються файли, у яких міститься gnu . Важливо зазначити, що така команда повертає рядок.

Примітка. З грепом, рядок посилається на послідовність символів, яка працює до визначеного розриву. Якщо ви не уточнили пошук, вихід може містити цілі абзаци інформації.

Зробіть наступний крок з Грепом

Цей посібник просто дряпає поверхню того, що ви можете зробити із грепом. Може знадобитися деякий час, щоб отримати всі шанси і кінці, але синтаксис дотримується досить простого принципу. І з деякою практикою ви зможете вдосконалити свої пошуки досконалості, з назвою файлу або без нього.

Як grep без імені файлу