diff --git a/expr/Expr.go b/expr/Expr.go index 19d05e7..5aba556 100644 --- a/expr/Expr.go +++ b/expr/Expr.go @@ -1,15 +1,15 @@ -package expr +package expr import ( + "fmt" "github.com/SumoLogic/sumoshell/util" - "strings" "os/exec" - "fmt" + "strings" ) type ExprOperator struct { - lsh string - expr string + lsh string + expr string output *util.JsonWriter } @@ -38,7 +38,7 @@ func (w ExprOperator) Process(inp map[string]interface{}) { } else { s = fmt.Sprintf("%v=\"%v\"", k, v) } - vars = append(vars, s) + vars = append(vars, s) } varStr := strings.Join(vars, ";") pythonCmd := varStr + "; print " + w.expr @@ -55,7 +55,7 @@ func (w ExprOperator) Process(inp map[string]interface{}) { inp[w.lsh] = numRep } else { inp[w.lsh] = strOut - } + } w.output.Write(inp) } } diff --git a/parse/Parse.go b/parse/Parse.go index bd2cde4..7ddbca2 100644 --- a/parse/Parse.go +++ b/parse/Parse.go @@ -52,13 +52,13 @@ func findNumExtractions(parseExpression string) int { } func regexFromPat(pat string) *regexp.Regexp { - regex := ".*?" + strings.Replace(regexp.QuoteMeta(pat), "\\*", "(.*?)", -1) + regex := ".*?" + strings.Replace(regexp.QuoteMeta(pat), "\\*", "(.*?)", -1) if strings.HasSuffix(pat, "*") { regex += "$" - + } else { regex += ".*$" - } + } return regexp.MustCompile(regex) } diff --git a/ss/Main.go b/ss/Main.go index 0c2c234..1faff15 100644 --- a/ss/Main.go +++ b/ss/Main.go @@ -4,8 +4,8 @@ import ( "fmt" "github.com/SumoLogic/sumoshell/average" "github.com/SumoLogic/sumoshell/count" - "github.com/SumoLogic/sumoshell/filter" "github.com/SumoLogic/sumoshell/expr" + "github.com/SumoLogic/sumoshell/filter" "github.com/SumoLogic/sumoshell/parse" "github.com/SumoLogic/sumoshell/sum" "github.com/SumoLogic/sumoshell/util" @@ -20,7 +20,7 @@ func main() { operators := map[string]Builder{ "parse": parse.Build, "filter": filter.Build, - "expr": expr.Build, + "expr": expr.Build, } aggOperators := map[string]AggBuilder{ diff --git a/sumo/Main.go b/sumo/Main.go index 074f380..d6f3bfb 100644 --- a/sumo/Main.go +++ b/sumo/Main.go @@ -19,6 +19,7 @@ type AggBuilder func([]string) (util.SumoAggOperator, error) var operators = map[string]Builder{ "parse": parse.Build, "filter": filter.Build, + "expr": expr.Build, } var aggOperators = map[string]AggBuilder{ diff --git a/util/Raw.go b/util/Raw.go index fc41812..ab1df46 100644 --- a/util/Raw.go +++ b/util/Raw.go @@ -180,6 +180,6 @@ func (writer *JsonWriter) Write(inp map[string]interface{}) { } } -func CoerceNumber (v interface{}) (float64, error) { +func CoerceNumber(v interface{}) (float64, error) { return strconv.ParseFloat(fmt.Sprint(v), 64) }