1. 程式人生 > >Logstash使用ruby和正則進行字串處理

Logstash使用ruby和正則進行字串處理

在接ip-guard的資料時候,有一項MAC地址,需要在得到的MAC地址欄位把每兩個字元中間加上"-";由於使用Logstash接的,所以我在filter段直接使用ruby進行修改,下面是filter段:

filter{
ruby{
code => "event['message']=event['message'].gsub((/\w\w/),'\0-').chomp('-')"
}
}
邏輯很簡單,用\w\w匹配到兩個字元,並括號括起來作為第一個分組,用"\0-"得到第一個分組的內容(即兩個字元)在加上橫槓進行替換;最後再把末尾多餘的"-"去掉,效果如下圖: