Повний посібник Команда grep в Linux, ІТ Блог

Коротка форма команди grep (GlobalRegularE xpression andPrint).На базовому рівнікоманда grep в Linux використовуються для пошуку або фільтрації простих текстових даних, використовуючи деяку форму регулярного виразу.

Команда grep в Linux та її опції

Перед вивченням команди grep подивимося на основний синтаксис її.

Основний синтаксис для команди grep

Варіанти з командою grep

1. Простий пошук у файлі

Давайте розглянемо приклад у файлі /etc/passwd для пошуку рядка у файлі. Щоб знайти слово "system" за допомогою команди grep, використовуйте команду:

2. Підрахунок появи слів.

У наведеному вище прикладі ми маємо у системі пошук слів у файлі “/etc/passwd”. Якщо ми хочемо знати кількість або кількість появи слова у файлі, використовуйте опцію нижче:

Вище зазначено, що слово з'явилося двічі у файлі /etc/passwd.

3. Ігнорувати регістрозалежні слова

Тепер, якщо ви спробуєте знайти рядок "andreyex", то команда не перераховуватиме всі слова "andreyex" з різними варіантами, як показано нижче:

Цей результат підтверджує, що лише один варіант буде показаний, ігноруючи решту слова «andreyex» з різними варіантами. І якщо ви хочете ігнорувати цей випадок, вам потрібно використовувати параметр "-i" з grep, як показано нижче:

4. Два різні рядки всередині файлу з командою grep

Тепер, якщо ви хочете знайти два слова або рядки за допомогою команди grep, то ви повинні встановити розширені. У наступній команді ми знаходимо два рядки "system" та "nobody" у файлі /etc/passwd.

5. Рекурсивний пошук

Допустимо, ви хочете знайти слово або рядок рекурсивно в будь-якомумісце каталогу, тоді використовуйте опцію -r. Наприклад, якщо ви хочете знайти слово «check_oracle» рекурсивно в каталозі /etc, використовуйте таку команду:

У виведенні вище ми можемо мати можливість бачити ім'я файлу, в якому ми знайшли рядок, і якщо ви хочете прибрати ім'я файлу в кінцевому результаті, то використовуйте опцію "-h", як показано нижче:

6. Виведення команди grep.

Якщо ви хочете знайти рядок або слово у будь-якому виведенні команди, то ви повинні використовувати оператор «», а потім у grep. Допустимо, ви хочете знайти в пам'яті, пов'язані слова виведення команди dmesg, то використовуйте наступну команду.

7. Інвертування за допомогою команди grep на Linux

Допустимо, якщо ви хочете відобразити всі слова у файлі, який не містить будь-яке конкретне слово, використовуйте опцію «-v». Це дозволяє створити один файл із вмістом, як показано нижче:

Якщо ми не хочемо друкувати рядки, що містять слово Linux, використовуйте наступну команду.

8. Точний збіг слова

Відповідно до прикладу, наведеного в пункті 7, якщо ми шукаємо Andreyex, то він буде друкувати все входження Andreyex як Andreyex12, Andreyex454, Andreyex34343, а також Andreyex, як показано нижче:

тоді, якщо ми хочемо знайти точне слово "Andreyex" замість цього, щоб перерахувати весь висновок вище, використовуйте опцію "-w", як показано нижче: