Grep

Матеріал з Вікі ЦДУ
Версія від 10:34, 15 березня 2012; Uletniy (обговореннявнесок)

(різн.) ← Попередня версія • Поточна версія (різн.) • Новіша версія → (різн.)
Перейти до: навігація, пошук

grep — утиліта командного рядка, який знаходить на вводі рядки, що відповідають заданому регулярному виразу, і виводить їх. Назва це акронім англійської фрази «search globally for lines matching the regular expression, and print them» — «шукати скрізь рядки, відповідні регулярному виразу, і виводити їх».

Спочатку була створена для операційної системи UNIX.

Існують модифікації grep:

   * egrep (з обробкою розширених регулярних виразів),
   * fgrep (що трактує символи $*[]^|()\ буквально),
   * rgrep (з включеним рекурсивним пошуком).

Як сказано в керівництві man: «egrep те ж саме що grep -E. fgrep те ж саме що grep -F. rgrep те ж саме що grep -r».

Синтаксис

grep "регулярний вираз" "файл"

або

cat "файл" | grep "регулярний вираз"

Приклад: вивести з файлу «words.txt» всі рядки, що починаються з букви «a»

grep "^a" "words.txt"

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

uptime | grep -o "load average.*"

Приклад: проглядання конфігураційних файлів без коментаря і порожніх рядків:

cat /usr/src/sys/i386/conf/GENERIC | grep -v '^#' | sed '/^$/d' | more cpu I486_CPU cpu I586_CPU cpu I686_CPU ident GENERIC makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols options SCHED_4BSD # 4BSD scheduler options PREEMPTION # Enable kernel thread preemption options INET # InterNETworking options INET6 # IPv6 communications protocols options SCTP # Stream Control Transmission Protocol options FFS # Berkeley Fast Filesystem options SOFTUPDATES # Enable FFS soft updates support options UFS_ACL # Support for access control lists