Перейти до вмісту
EuroVPSEuroVPS

Як користуватися grep

FAQ EuroVPS

Оновлено 5 хв читання

Команда «grep» шукає в заданому файлі шаблони, які вказує користувач, і дуже зручна для роботи з файлами: наприклад, для пошуку події у файлах логів або параметра у файлах конфігурації.

Рядки потрібно брати в лапки, щоб програма правильно розпізнала їх як один рядок, якщо в них є пробіл або спеціальний символ.

Синтаксис команди grep наведено нижче.

Usage: grep [OPTION]... PATTERN [FILE]..
Search for PATTERN in each FILE or standard input.

Файл-зразок, який ми тут використовуємо, називається eurovpstest.txt і містить тестовий вміст.

[root@eurovps ~]# cat eurovpstest.txt 
Managed VPS
Custom VPS
Bare Metal Servers
Private Cloud
Managed Clusters
cPanel Hosting
Agency Hosting
Since launching in April of 2004, EuroVPS has provided managed enterprise hosting in European datacenters.

Пошук рядка

Як і більшість команд Linux, пошук у grep за замовчуванням чутливий до регістру.

[root@eurovps ~]# grep hosting eurovpstest.txt 
Since launching in April of 2004, EuroVPS has provided managed enterprise hosting in European datacenters.

Пошук без урахування регістру

[root@eurovps ~]# grep -i  hosting eurovpstest.txt
cPanel Hosting
Agency Hosting
Since launching in April of 2004, EuroVPS has provided managed enterprise hosting in European datacenters.

Пошук рядка з кількох слів

[root@eurovps ~]# grep   "Custom VPS"  eurovpstest.txt  
Custom VPS

Строгий пошук слова

[root@eurovps ~]# grep -w VPS eurovpstest.txt
Managed VPS
Custom VPS

Як бачите, пошук повернув лише рядки, що містять слово VPS, і виключив рядки на кшталт EuroVPS.

Пошук кількох рядків

[root@eurovps ~]# grep 'Servers\|Hosting' eurovpstest.txt
Bare Metal Servers
cPanel Hosting
Agency Hosting

Можна додати прапорець пошуку без урахування регістру, щоб отримати всі рядки зі словом hosting незалежно від того, якими літерами воно написане.

[root@eurovps ~]# grep -i 'Servers\|Hosting' eurovpstest.txt   
Bare Metal Servers
cPanel Hosting
Agency Hosting
Since launching in April of 2004, EuroVPS has provided managed enterprise hosting in European datacenters.

Підрахунок кількості входжень рядка за допомогою grep

[root@eurovps ~]# grep -c  hosting eurovpstest.txt 
1
[root@eurovps ~]# grep -ci hosting eurovpstest.txt
3

Виведення сусідніх рядків над збігом і під ним.

[root@eurovps ~]# grep --context=2  Private eurovpstest.txt 
Custom VPS
Bare Metal Servers
Private Cloud
Managed Clusters
cPanel Hosting

Скорочена форма прапорця context має вигляд -C і дає той самий результат.

[root@eurovps ~]# grep -C 2  Private eurovpstest.txt 
Custom VPS
Bare Metal Servers
Private Cloud
Managed Clusters
cPanel Hosting

Аналогічно -A, --after-context=NUM і -B, --before-context=NUM виводять задану кількість рядків після збігу та перед ним.

[root@eurovps ~]# grep -A 2  Private eurovpstest.txt 
Private Cloud
Managed Clusters
cPanel Hosting
[root@eurovps ~]# grep -B 2 Private eurovpstest.txt
Custom VPS
Bare Metal Servers
Private Cloud

Повний список прапорців: grep --help або man grep.

Shared FAQ page chrome (breadcrumb, dates, read time, «Читати далі», enquiry block, category labels): see INDEX-AND-CHROME.md. Translate once.

З FAQ EuroVPS.

Більше в категорії «Інструкції»

Ваш наступний партнер з інфраструктури

Залишилося
запитання?

Розкажіть, що ви намагаєтеся зробити. Інженер прочитає і відповість.

+357 222 32280
Інженер EuroVPS несе серверний вузол у залі дата-центру
Розмова з людьми, які доглядатимуть за вашою інфраструктурою.

Почнімо з вашої інфраструктури.

Трохи контексту допомагає нам почати правильну розмову.

Ми використаємо ваші дані, щоб відповісти на ваш запит. Політика конфіденційності