grep
grep — утиліта інтерфейсу командного рядка, яка знаходить на вводі рядки, що відповідають заданому регулярному виразу, і виводить їх. Назва утиліти є послідовністю команд пошуку регулярних виразів у редакторі ed — g/re/p. Цю послідовність команд можна описати англійською фразою «search globally for lines matching the regular expression, and print them» — «шукати скрізь рядків, відповідних регулярному виразу, і виводити їх».
Тип | стандартна утиліта UNIXd |
---|---|
Автор(и) | Кен Томпсон |
Розробник | UNIX |
Перший випуск | листопад 1974 |
Стабільний випуск | 2.15 (26 жовтня 2013 , GNU) |
Платформа | IA-32, x86-64, PowerPC та інші |
Операційна система | Linux, Mac OS, Solaris та Microsoft Windows |
Доступні мови | англійська та інші |
Стан розробки | активний |
GNU grep у Вікісховищі |
Спочатку була створена для операційної системи 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
Див. також
- pgrep — grep по ps
- Алгоритм Коменц-Вальтер
Посилання
- The grep Command — by The Linux Information Project (LINFO)
- «The Treacherous Optimization» — article on tradeoffs in grep to favor best-case over worst-case scenarios
- Egrep for linguists An introduction to egrep
- Tony Abou-Assaleh's list of Greps[недоступне посилання]
- Usage of grep Command Архівовано 2 лютого 2009 у Wayback Machine.