1
我想grep一個HTTP訪問日誌,但我不能寫一個有效的正則表達式。這裏是我現在使用的:任何人都可以幫助我簡化正則表達式嗎?
grep \/console access.log | grep -v .gif | grep -v .js |grep -v .css
我該如何縮短它?謝謝!
我想grep一個HTTP訪問日誌,但我不能寫一個有效的正則表達式。這裏是我現在使用的:任何人都可以幫助我簡化正則表達式嗎?
grep \/console access.log | grep -v .gif | grep -v .js |grep -v .css
我該如何縮短它?謝謝!
的grep不支持先行,所以你還是得有兩個實例:
grep /console access.log | grep -v '\.\(gif|js|css\)'
對於負前瞻,更小的,雖然不一定更可讀的正則表達式將
^(?!.*?\.(gif|js|css)).*/console.*$
這可能會或可能不會更簡單。
sed -r -n -e '/\.(js|css|gif)/d' -e '\%/console%p' access.log
負面展望正則表達式將保留控制檯後出現.gif,.js或.css的條目。 – EmFi
您需要'grep -E -v'\。(...)''或反斜槓在所有擴展的結構之前。 – tripleee