tgoop.com/srv_admin/4604
Last Update:
Покажу небольшой bash трюк, который поможет грепнуть информацию, когда обычный способ не работает. Демонстрирую сразу на примере, с которым сам постоянно сталкиваюсь.
Вам нужно узнать, есть ли необходимый модуль в составе Nginx. По идее всё просто:# nginx -V
На выходе портянка, в которой глазами трудно что-то найти. Пробуем грепнуть:# nginx -V | grep http_realip_module
Вообще ноль изменений. И причины тут на самом деле не одна, а сразу две:
Показываю решение обоих проблем:# nginx -V 2>&1 | tr ' ' '\n' | grep http_realip_module
--with-http_realip_module
Видим нужный нам модуль. Я сначала через 2>&1
направил поток stderr в stdout, чтобы с ним можно было работать консольными утилитами, а затем с помощью tr
заменил все пробелы символами перехода на новую строку \n
. В итоге у нас весь вывод nginx -V разбился на отдельные фразы, каждая в новой строке и после этого успешно грепнулся.
В принципе, можно обойтись без разбивки одной строки на несколько, так как grep скорее всего подсветит найденную фразу, но это зависит от различных настроек. Где-то может и не подсветить. Если всё же разбить, то будет нагляднее.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#bash