Thegrep>Команда в Unix/Linux є потужним інструментом, який використовується для пошуку та обробки текстових шаблонів у файлах. Його назва походить від команди ed (редактор) g/re/p (глобальний пошук регулярного виразу та друк відповідних рядків), що відображає його основні функції.grep>широко використовується програмістами, системними адміністраторами та користувачами завдяки своїй ефективності та універсальності в обробці текстових даних. У цій статті ми розглянемо різні аспектиgrep>команда.
Зміст
- Синтаксис команди grep в Unix/Linux
- Параметри, доступні в команді grep
- Практичний приклад команди grep у Linux
- 1. Пошук без урахування регістру
- 2. Відображення кількості збігів за допомогою grep
- 3. Відобразіть імена файлів, які відповідають шаблону, за допомогою grep
- 4. Перевірка цілих слів у файлі за допомогою grep
- 5. Відображення лише відповідного шаблону за допомогою grep
- 6. Показати номер рядка під час відображення результату за допомогою grep -n
- 7. Інвертування відповідності шаблону за допомогою grep
- 8. Зіставлення рядків, які починаються з рядка, за допомогою grep
- 9. Зіставлення рядків, які закінчуються рядком, за допомогою grep
- 10. Визначає вираз за допомогою опції -e
- 11. Параметр -f file Бере шаблони з файлу, по одному на рядок
- 12. Надрукуйте n певних рядків із файлу за допомогою grep
- 13. Рекурсивний пошук шаблону в каталозі
Синтаксис команди grep в Unix/Linux
Основний синтаксис ` grep`> команда така:
grep [options] pattern [files]>
тут,
[> options> ]>: це позначки командного рядка, які змінюють поведінкуgrep>.
[> pattern> ]>: це регулярний вираз, який ви хочете знайти.
[> file> ]>: це ім’я файлу(ів), у якому ви хочете шукати. Ви можете вказати кілька файлів для одночасного пошуку.
Параметри, доступні в команді grep
| Опції | опис |
|---|---|
| -c | Це друкує лише кількість рядків, які відповідають шаблону |
| -ч | Відображати відповідні рядки, але не відображати назви файлів. |
| – i багаторядковий коментар Powershell | Ігнорує, регістр для відповідності |
| -л | Відображає лише список імен файлів. |
| -п | Виведіть відповідні рядки та їхні номери. |
| -в | Це роздрукує всі рядки, які не відповідають шаблону |
| -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
1. Пошук без урахування регістру
Параметр -i дає змогу шукати рядок без урахування регістру в даному файлі. Він відповідає таким словам, як UNIX, Unix, unix.
заблокувати додаток для Android
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 окремих рядків із файлу
13. Рекурсивний пошук шаблону в Д довідник
-Р друкує шуканий шаблон у вказаному каталозі рекурсивно в усіх файлах.
Синтаксис:
якщо інакше bash
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.