logo

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

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

Зміст

Синтаксис команди 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

Параметр -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 окремих рядків із файлу

Вивести 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.