Перейти до вмісту

grep

Матеріал з Вікіпедії — вільної енциклопедії.
GNU grep
Типстандартна утиліта UNIX[d] Редагувати інформацію у Вікіданих
АвторКен Томпсон Редагувати інформацію у Вікіданих
РозробникUNIX
Перший випусклистопад 1974; 51 років тому (1974-11)
Стабільний випуск2.15 (26 жовтня 2013; 12 років тому (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

Див. також

[ред. | ред. код]

Посилання

[ред. | ред. код]