# It is possible to create multiple groks for multiple paths?

**URL:** <https://discuss.elastic.co/t/it-is-possible-to-create-multiple-groks-for-multiple-paths/87530>\
**Category:** Logstash\
**Created:** [May 30, 2017, 9:09am UTC](https://discuss.elastic.co/t/it-is-possible-to-create-multiple-groks-for-multiple-paths/87530 "2017-05-30T09:09:01Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![Sylfaen](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/sylfaen/32/17653_2.png) [@Sylfaen](https://discuss.elastic.co/u/Sylfaen)\
**Post date:** [May 30, 2017, 9:21am UTC](https://discuss.elastic.co/t/it-is-possible-to-create-multiple-groks-for-multiple-paths/87530/2 "2017-05-30T09:21:58Z")

</div>

Yes, of course. Multiple grok is possible ([discuss](https://discuss.elastic.co/t/multiple-match-option-in-grok/83590/7)).

In your case, as the columns are the same for the 9 first ones, you can make one simple grok and adding a conditional statement :

> ^(?[^;]);(?[^;]);(?[^;]);(?[^;]);(?[^;]);(?[^;]);(?[^;]);(?[^;]);(?[^;])**(**;(?[^;]);(?[^;]\*)**)?**

Adding **()?** allows you to say that the part between () isn't always available.

---

_[View the full topic](https://discuss.elastic.co/t/it-is-possible-to-create-multiple-groks-for-multiple-paths/87530)._
