Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
| grep [2016/03/25 13:10] – [Примеры] mirocow | grep [2017/02/16 04:36] (текущий) – [Примеры] mirocow | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| + | {{tag> | ||
| + | |||
| ====== Поиск текста по фрагменту из текста. (grep/ | ====== Поиск текста по фрагменту из текста. (grep/ | ||
| ===== Примеры ===== | ===== Примеры ===== | ||
| - | + | $ grep --color=always -C 2 -R "My search text" ./ | |
| - | | + | |
| - | + | $ cat / | |
| - | grep -B 3 -A 5 -i "My search text" | + | |
| + | ==== Без комментариев ==== | ||
| + | |||
| + | $ cat / | ||
| ===== Описание ===== | ===== Описание ===== | ||
| - | |||
| Легендарная команда grep может служить практически для любых целей. Я ее люблю применять не только для поиска нужных файлов в каталоге исходного текста. С помощью grep также можно задавать поиск по регулярным выражениям. | Легендарная команда grep может служить практически для любых целей. Я ее люблю применять не только для поиска нужных файлов в каталоге исходного текста. С помощью grep также можно задавать поиск по регулярным выражениям. | ||
| Строка 14: | Строка 18: | ||
| grep ' | grep ' | ||
| Пример: | Пример: | ||
| + | |||
| grep -R ' | grep -R ' | ||
| + | | ||
| -команда будет рекурсивно искать во всех текстовых файлах системы слово text. | -команда будет рекурсивно искать во всех текстовых файлах системы слово text. | ||
| Grep имеет внушительное количество опций которые могут довольно часто понадобиться: | Grep имеет внушительное количество опций которые могут довольно часто понадобиться: | ||
| + | |||
| $ grep --help | $ grep --help | ||
| + | | ||
| Использование: | Использование: | ||
| Поиск ШАБЛОНА в каждом ФАЙЛЕ или в стандартном вводе. | Поиск ШАБЛОНА в каждом ФАЙЛЕ или в стандартном вводе. | ||
| Строка 23: | Строка 31: | ||
| Пример: | Пример: | ||
| - | Выбор типа регулярного выражения и его интерпретация: | + | ==== Выбор типа регулярного выражения и его интерпретация: |
| * -E, --extended-regexp ШАБЛОН - расширенное регулярное выражение (ERE) | * -E, --extended-regexp ШАБЛОН - расширенное регулярное выражение (ERE) | ||
| * -F, --fixed-regexp ШАБЛОН - строки фиксированной длины, разделённые символом новой строки | * -F, --fixed-regexp ШАБЛОН - строки фиксированной длины, разделённые символом новой строки | ||
| Строка 35: | Строка 44: | ||
| * -z, --null-data строки разделяются байтом с нулевым значением, | * -z, --null-data строки разделяются байтом с нулевым значением, | ||
| - | Дополнительно: | + | ==== Дополнительно: |
| * -s, --no-messages подавлять сообщения об ошибках | * -s, --no-messages подавлять сообщения об ошибках | ||
| * -v, --revert-match выбирать не подходящие строки | * -v, --revert-match выбирать не подходящие строки | ||
| Строка 42: | Строка 52: | ||
| * --mmap использовать отображение в память (mmap) по возможности | * --mmap использовать отображение в память (mmap) по возможности | ||
| - | Управление выводом: | + | ==== Управление выводом: |
| * -m, --max-count=ЧИСЛО остановиться после указанного ЧИСЛА совпадений | * -m, --max-count=ЧИСЛО остановиться после указанного ЧИСЛА совпадений | ||
| - | * -b, --byte-offset печатать вместе с выходными строками смещение в | + | * -b, --byte-offset печатать вместе с выходными строками смещение в байтах |
| - | байтах | + | |
| * -n, --line-number печатать номер строки вместе с выходными строками | * -n, --line-number печатать номер строки вместе с выходными строками | ||
| * --line-buffered сбрасывать буфер после каждой строки | * --line-buffered сбрасывать буфер после каждой строки | ||
| * -H, --with-filename печатать имя файла для каждого совпадения | * -H, --with-filename печатать имя файла для каждого совпадения | ||
| * -h, --no-filename не начинать вывод с имени файла | * -h, --no-filename не начинать вывод с имени файла | ||
| - | * --label=МЕТКА выводить МЕТКУ в качестве имени файла для | + | * --label=МЕТКА выводить МЕТКУ в качестве имени файла для стандартного ввода |
| - | стандартного ввода | + | |
| * -o, --only-matching показывать только часть строки, | * -o, --only-matching показывать только часть строки, | ||
| * -q, --quiet, --silent подавить весь обычный вывод | * -q, --quiet, --silent подавить весь обычный вывод | ||
| - | * --binary-files=ТИП считать, | + | * --binary-files=ТИП считать, |
| binary, text или without-match. | binary, text или without-match. | ||
| * -a, --text то же что и --binary-files=text | * -a, --text то же что и --binary-files=text | ||
| Строка 78: | Строка 87: | ||
| * -Z, --null печатать байт 0 после имени ФАЙЛА | * -Z, --null печатать байт 0 после имени ФАЙЛА | ||
| - | Управление контекстом: | + | ==== Управление контекстом: |
| - | | + | |
| - | | + | * -B, --before-context=ЧИС печатать ЧИСЛО строк предшествующего контекста |
| - | | + | * -A, --after-context=ЧИС печатать ЧИСЛО строк последующего контекста |
| + | * -C, --context[=ЧИС] печатать ЧИСЛО строк контекста, | ||
| * --color[=КОГДА], | * --color[=КОГДА], | ||
| * --colour[=КОГДА] использовать маркеры для различия совпадающих строк; КОГДА может быть always (всегда), | * --colour[=КОГДА] использовать маркеры для различия совпадающих строк; КОГДА может быть always (всегда), | ||