Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
grep [2016/03/25 13:14] – mirocow | grep [2017/02/16 04:36] (текущий) – [Примеры] mirocow | ||
---|---|---|---|
Строка 5: | Строка 5: | ||
===== Примеры ===== | ===== Примеры ===== | ||
- | + | $ grep --color=always -C 2 -R "My search text" ./ | |
- | | + | |
- | + | $ cat / | |
- | grep -B 3 -A 5 -i "My search text" | + | |
+ | ==== Без комментариев ==== | ||
+ | |||
+ | $ cat / | ||
===== Описание ===== | ===== Описание ===== | ||
- | |||
Легендарная команда grep может служить практически для любых целей. Я ее люблю применять не только для поиска нужных файлов в каталоге исходного текста. С помощью grep также можно задавать поиск по регулярным выражениям. | Легендарная команда grep может служить практически для любых целей. Я ее люблю применять не только для поиска нужных файлов в каталоге исходного текста. С помощью grep также можно задавать поиск по регулярным выражениям. | ||
Строка 16: | Строка 18: | ||
grep ' | grep ' | ||
Пример: | Пример: | ||
+ | |||
grep -R ' | grep -R ' | ||
+ | | ||
-команда будет рекурсивно искать во всех текстовых файлах системы слово text. | -команда будет рекурсивно искать во всех текстовых файлах системы слово text. | ||
Grep имеет внушительное количество опций которые могут довольно часто понадобиться: | Grep имеет внушительное количество опций которые могут довольно часто понадобиться: | ||
+ | |||
$ grep --help | $ grep --help | ||
+ | | ||
Использование: | Использование: | ||
Поиск ШАБЛОНА в каждом ФАЙЛЕ или в стандартном вводе. | Поиск ШАБЛОНА в каждом ФАЙЛЕ или в стандартном вводе. | ||
Строка 25: | Строка 31: | ||
Пример: | Пример: | ||
- | Выбор типа регулярного выражения и его интерпретация: | + | ==== Выбор типа регулярного выражения и его интерпретация: |
* -E, --extended-regexp ШАБЛОН - расширенное регулярное выражение (ERE) | * -E, --extended-regexp ШАБЛОН - расширенное регулярное выражение (ERE) | ||
* -F, --fixed-regexp ШАБЛОН - строки фиксированной длины, разделённые символом новой строки | * -F, --fixed-regexp ШАБЛОН - строки фиксированной длины, разделённые символом новой строки | ||
Строка 37: | Строка 44: | ||
* -z, --null-data строки разделяются байтом с нулевым значением, | * -z, --null-data строки разделяются байтом с нулевым значением, | ||
- | Дополнительно: | + | ==== Дополнительно: |
* -s, --no-messages подавлять сообщения об ошибках | * -s, --no-messages подавлять сообщения об ошибках | ||
* -v, --revert-match выбирать не подходящие строки | * -v, --revert-match выбирать не подходящие строки | ||
Строка 44: | Строка 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 | ||
Строка 80: | Строка 87: | ||
* -Z, --null печатать байт 0 после имени ФАЙЛА | * -Z, --null печатать байт 0 после имени ФАЙЛА | ||
- | Управление контекстом: | + | ==== Управление контекстом: |
- | | + | |
- | | + | * -B, --before-context=ЧИС печатать ЧИСЛО строк предшествующего контекста |
- | | + | * -A, --after-context=ЧИС печатать ЧИСЛО строк последующего контекста |
+ | * -C, --context[=ЧИС] печатать ЧИСЛО строк контекста, | ||
* --color[=КОГДА], | * --color[=КОГДА], | ||
* --colour[=КОГДА] использовать маркеры для различия совпадающих строк; КОГДА может быть always (всегда), | * --colour[=КОГДА] использовать маркеры для различия совпадающих строк; КОГДА может быть always (всегда), |