grep

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
GNU grep
Тип стандартна утиліта UNIX[d]
Автор Кен Томпсон
Розробник UNIX
Перший випуск листопад 1974; 49 років тому (1974-11)
Стабільний випуск 2.15 (26 жовтня 2013; 10 років тому (2013-10-26), GNU)
Платформа IA-32, x86-64, PowerPC та інші
Операційна система Linux, Mac OS, Solaris та Microsoft Windows
Доступні мови англійська та інші
Стан розробки активний

grep — утиліта інтерфейсу командного рядка, яка знаходить на вводі рядки, що відповідають заданому регулярному виразу, і виводить їх. Назва утиліти є послідовністю команд пошуку регулярних виразів у редакторі ed — g/re/p. Цю послідовність команд можна описати англійською фразою «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

Див. також[ред. | ред. код]

Посилання[ред. | ред. код]