Grep

GNU grep
Разработчик

Проект GNU

Операционная система

Linux, Mac OS, Solaris и Windows

Языки интерфейса

Английский и другие

Аппаратная платформа

IA-32, x86-64, PowerPC и другие

Последняя версия

2.11 (2 марта 2012)

Состояние

Активный

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».

Содержание

Синтаксис

Для отображения краткого описания команды, используется ключ --help:

root@old:/# grep --help

Использование: grep [ПАРАМЕТР]... ШАБЛОН [ФАЙЛ]... Поиск ШАБЛОНА в каждом ФАЙЛЕ или в стандартном вводе.

По умолчанию, ШАБЛОН представляет собой простое регулярное выражение (BRE).


Примеры

Пример: вывести из файла «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

Пример: Фильтр процессов без вывода самой команды grep:

    ps -aef | grep '[b]ash'

См. также

Ссылки

  • grep(1) — страница справки man по пользовательским командам GNU/Linux  (англ.)
  • grep(1)/manpages-ru — страница справки man в русском переводе


Grep.

© 2021–2023 sud-mal.ru, Россия, Барнаул, ул. Денисова 68, +7 (3852) 74-95-52