Повний посібник Команда 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", як показано нижче: