Кто-нибудь может помочь мне упростить регулярное выражение? - PullRequest
1 голос
/ 14 октября 2011

Я хочу создать журнал HTTP-доступа, но не могу написать эффективное регулярное выражение.Вот что я сейчас использую:

grep \/console access.log | grep -v .gif | grep -v .js |grep -v .css

Как мне его сократить?Спасибо!

Ответы [ 2 ]

1 голос
/ 14 октября 2011

grep не поддерживает lookahead, поэтому вам все равно придется иметь два экземпляра:

grep /console access.log | grep -v '\.\(gif|js|css\)'

При отрицательном прогнозе меньшее, хотя и не обязательно более читаемое регулярное выражение будет

^(?!.*?\.(gif|js|css)).*/console.*$
0 голосов
/ 14 октября 2011

Это может или не может быть проще.

sed -r -n -e '/\.(js|css|gif)/d' -e '\%/console%p' access.log
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...