команда grep в Unix/Linux

команда grep в Unix/Linux

The grep> Команда в Unix/Linux є потужним інструментом, який використовується для пошуку та обробки текстових шаблонів у файлах. Його назва походить від команди ed (редактор) g/re/p (глобальний пошук регулярного виразу та друк відповідних рядків), що відображає його основні функції. grep> широко використовується програмістами, системними адміністраторами та користувачами завдяки своїй ефективності та універсальності в обробці текстових даних. У цій статті ми розглянемо різні аспекти grep> команда.

Зміст

Синтаксис команди grep в Unix/Linux

Основний синтаксис ` grep`> команда така:

  grep [options] pattern [files] 

тут,

[> options> ]> : це позначки командного рядка, які змінюють поведінку grep> .

[> pattern> ]> : це регулярний вираз, який ви хочете знайти.

[> file> ]> : це ім’я файлу(ів), у якому ви хочете шукати. Ви можете вказати кілька файлів для одночасного пошуку.

Параметри, доступні в команді grep

Опції

опис

-c

Це друкує лише кількість рядків, які відповідають шаблону

Відображати відповідні рядки, але не відображати назви файлів.

i

Ігнорує, регістр для відповідності

Відображає лише список імен файлів.

-п

Виведіть відповідні рядки та їхні номери.

Це роздрукує всі рядки, які не відповідають шаблону

-e експ

Визначає вираз із цією опцією. Можна використовувати кілька разів.

-f файл

Бере шаблони з файлу, по одному на рядок.

Розглядає шаблон як розширений регулярний вираз (ERE)

Зіставте ціле слово

Надрукуйте лише відповідні частини відповідного рядка, з кожною такою частиною в окремому вихідному рядку.

-A n

Друкує пошуковий рядок і nрядків після результату.

-Б н

Друкує шуканий рядок і n рядок перед результатом.

-C n

Виводить пошуковий рядок і n рядків після результату.

Зразки команд

Розглянемо файл нижче як вхідні дані.

cat>geekfile.txt 

unix чудова ОС. unix розроблено в Bell Labs.

вивчати операційну систему.

Unix linux який ви виберете.

uNix легко освоїти. unix — багатокористувацька ОС. Дізнайтеся про unix. unix — потужна.

Практичний приклад команди grep у Linux

Параметр -i дає змогу шукати рядок без урахування регістру в даному файлі. Він відповідає таким словам, як UNIX, Unix, unix.

grep -i 'UNix' geekfile.txt 

Вихід:

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

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

2. Відображення кількості збігів за допомогою grep

Ми можемо знайти кількість рядків, які відповідають заданому рядку/шаблону

grep -c 'unix' geekfile.txt 

Вихід:

Відображення кількості збігів

Відображення кількості збігів

3. Відобразіть імена файлів, які відповідають шаблону, за допомогою grep

Ми можемо просто відобразити файли, які містять заданий рядок/шаблон.

grep -l 'unix' * 

або

grep -l 'unix' f1.txt f2.txt f3.xt f4.txt 

Вихід:

Ім

Ім'я файлу, яке відповідає шаблону

4. Перевірка цілих слів у файлі за допомогою grep

За замовчуванням grep відповідає заданому рядку/шаблону, навіть якщо він знайдений як підрядок у файлі. Параметр -w для grep дозволяє збігати лише цілі слова.

grep -w 'unix' geekfile.txt 

Вихід:

перевірка цілих слів у файлі

перевірка цілих слів у файлі

5. Відображення лише відповідного шаблону за допомогою grep

За замовчуванням grep відображає весь рядок із відповідним рядком. Ми можемо змусити grep відображати лише відповідний рядок за допомогою параметра -o.

grep -o 'unix' geekfile.txt 

Вихід:

Відображення лише відповідного шаблону

Відображення лише відповідного шаблону

6. Показати номер рядка під час відображення результату за допомогою grep -n

Щоб показати номер рядка файлу з відповідним рядком.

grep -n 'unix' geekfile.txt 

Вихід:

Показувати номер рядка під час відображення результату

Показувати номер рядка під час відображення результату

7. Інвертування відповідності шаблону за допомогою grep

Ви можете відобразити рядки, які не відповідають заданому шаблону рядка пошуку, використовуючи параметр -v.

grep -v 'unix' geekfile.txt 

Вихід:

Інвертування відповідності шаблону

Інвертування відповідності шаблону

8. Зіставлення рядків, які починаються з рядка, за допомогою grep

Шаблон регулярного виразу ^ визначає початок рядка. Це можна використовувати в grep, щоб зіставити рядки, які починаються з заданого рядка або шаблону.

grep '^unix' geekfile.txt 

Вихід:

Встановлення відповідності між рядками, які починаються з рядка

Встановлення відповідності між рядками, які починаються з рядка

9. Зіставлення рядків, які закінчуються рядком, за допомогою grep

Шаблон регулярного виразу $ визначає кінець рядка. Це можна використовувати в grep, щоб зіставити рядки, які закінчуються заданим рядком або шаблоном.

grep 'os$' geekfile.txt 

10. Визначає вираз за допомогою опції -e

Можна використовувати кілька разів:

grep –e 'Agarwal' –e 'Aggarwal' –e 'Agrawal' geekfile.txt 

11. Параметр -f file Бере шаблони з файлу, по одному на рядок

cat pattern.txt 

Агарвал
Агарвал
Агравал

grep –f pattern.txt geekfile.txt 

12. Надрукуйте n певних рядків із файлу за допомогою grep

-A друкує шуканий рядок і n рядків після результату, -B друкує шуканий рядок і n рядків перед результатом, а -C друкує шуканий рядок і n рядків після і перед результатом.

Синтаксис:

grep -A[NumberOfLines(n)] [search] [file] grep -B[NumberOfLines(n)] [search] [file] grep -C[NumberOfLines(n)] [search] [file] 

приклад:

grep -A1 learn geekfile.txt 

Вихід:

Вивести n окремих рядків із файлу

Вивести n окремих рядків із файлу

13. Рекурсивний пошук шаблону в Д довідник

друкує шуканий шаблон у вказаному каталозі рекурсивно в усіх файлах.

Синтаксис:

grep -R [Search] [directory] 

приклад:

grep -iR geeks /home/geeks 

Вихід:

./geeks2.txt:Well Hello Geeks ./geeks1.txt:I am a big time geek ---------------------------------- -i to search for a string case insensitively -R to recursively check all the files in the directory. 

Висновок

У цій статті ми обговорили grep> команда в Linux, яка є потужним інструментом текстового пошуку, який використовує регулярні вирази для пошуку шаблонів або тексту у файлах. Він пропонує різні параметри, такі як нечутливість до регістру, підрахунок збігів і перелік імен файлів. З можливістю рекурсивного пошуку, використання прапорців регулярних виразів і налаштування виведення, grep> є життєво важливим інструментом для користувачів Linux для ефективного виконання завдань, пов’язаних із текстом. Освоєння grep> покращує вашу здатність працювати з текстовими даними в середовищі Linux.