Можно сделать это с коротким сценарием:
for FILE in *
do
grep -q foo $FILE && grep -q 321 $FILE && echo $FILE
done
Можно также сделать это на одной строке:
for FILE in *; do grep -q foo $FILE && grep -q 321 $FILE && echo $FILE; done
grep
возвраты 0 (верный), если это нашло строку и &&
разделение команд означает, что второй будет только работать, если первый был верен. -q
опция удостоверяется это grep
ничего не производит.
Эхо будет только работать, если обе строки были найдены в том же файле.
Я думал о другом способе сделать это. Таким образом, вероятно, будет более эффективным, если рассматриваемые файлы будут больше, чем Ваша установленная RAM, как это только имеет к grep
через каждый файл однажды.
for FILE in *
do
test $(egrep -o "foo|321" $FILE | uniq | sort | uniq | wc -l) -eq 2 && echo $FILE
done
и короткая версия:
for FILE in *; do test $(egrep -o "foo|321" $FILE | uniq | sort | uniq | wc -l) -eq 2 && echo $FILE; done
это была моя проблема, не уверен, что это поможет. Aparently "service supervisord start
" не обязательно загружает ваш конфигурационный файл, или даже файл конфигурации вообще. Чтобы мой файл заработал, мне пришлось сделать супервизор -c /path/to/my/config.conf
(т.е. запустить двоичный файл напрямую), что все исправило.
Я знаю, что этот вопрос довольно старый, но ради тех, кто столкнулся с этой проблемой, запуск демона супервизора работает для меня.
sudo service supervisor start
Более подробное объяснение заключается в том, что, как правило, когда вы сталкиваетесь с ошибкой «unix :///var/run/blabla.sock нет такого файла», скорее всего, проблема в том, что демон программы в теме(supervisord
в этом случае )не был запущен и, следовательно, не смог сгенерировать ожидаемый файл сокета unix supervisor.sock
. Этот файл является конечной точкой связи для команд переднего плана супервизора (, таких как supervisorctl
), который действует как туннель/посредник, ответственный за ретрансляцию команд, выданных пользователем -, (напр.supervisorctl reread
)к службе супервизора, работающей в фоновом режиме.
Вы можете обратиться к Unix Domain Socket и к этому ответу stackoverflow .
Недавно я столкнулся с этой проблемой и решил ее, выполнив следующие действия.
Вот и все.