grep - утилита командной строки, которая выполняет поиск по фразе или регулярному выражению в текстовых файлах или в потоке вывода.
Список ключей для команды находится в конце статьи.
$ ps ax | grep php
#Пример результата работы:
708 pts/0 R+ 0:00 grep php
2123 ? Ss 0:43 php /var/www/test.php
12632 ? S 0:09 /usr/bin/php5.6 /var/www/test2.php
12633 ? S 0:09 php /var/www/test3.php reload
ps ax
- выводит список запущенных процессов, с помощью команды grep можно отфильтровать этот список по названию процесса или названию команды запустивший этот процесс, в данном случаи это php.
grep -inr 'test' /need/path
#Пример результата работы:
/need/path/test.php:16: function test(a,b) {
/need/path/test2.php:3: test(2,4);
/need/path/test2.php:157: test($a,$b);
В данном случаи ищется слово test в директории /need/path, поиск регистранезависимый и рекрусивный. В результате указывается название файла в котором было найдено совпадение, номер строки и содержимое самой строки.
grep -o '\([0-9]\{1,3\}\.\)\{3\}\([0-9]\{1,3\}\)\{1\}' access.mass-hosting.log | sort | uniq -c | sort
Данный пример выбирает все ip адресса из файла access.mass-hosting.log сортирует их, далее объединяет и выводит в порядке возростание сколько раз каждый из них встречается в файле.
grep -inr --include="*.css" 'header' /need/path/
/need/path/css/main.css:22:#header
Происходит поиск слова header только среди файлов с расширением css, поиск регистранезависимый и рекрусивный. В результате указывается название файла в котором было найдено совпадение, номер строки и содержимое самой строки.
Ключ | Значение |
---|---|
-V |
Выводи реверсивные результаты. Вместо того чтобы вывести строки где искомое было найдено — выводи те строки где искомой подстроки нет. |
-C |
Отключает стандартный способ вывода результата и вместо этого отображает только число обозначающее количество найденых строк. |
-i |
Делает поиск регистронезависимым |
-n |
Выдает перед каждой строкой ее номер в файле (строки нумеруются с 1). |
-w |
Ведет поиск по цельным словам. Например при обычном поиске строки ‘wood’ grep может найти слово ‘hollywood’. А если используется данный ключ то будут найдены только строки где есть слово ‘wood’. |
-l |
Выводит только имена файлов где была найдена строка. |
-r |
Производит поиск рекурсивно по всем поддиректориям. |
-o |
Печатает только часть строки подходящую под условие регулярного выражения. |
Документация по grep на русском.
Рубрики:
Linux
Когда в проекте диапазон чисел от 0,0001 до 1 000 000, удобно автоматически удалять лишнии нули после запятой.
В статье приведен пример как выполнить произвольный sql запрос используя стандартные средства Bitrix
В статье приводится пример кода для получения ID текущего покупателя в bitrix.
grep - удобная и быстрая команда, здесь приведены примеры как произвести рекурсивный поиск в каталоге, поиск среди запущенных процессов и другие.
Статья о том как разместить свои настройки не создавая велосипеды и костыли, а используя возможности системы.
В статье приводится пример кода подключения bitrix без подключения шаблона сайта. Так же описано когда это может пригодится.