-
Notifications
You must be signed in to change notification settings - Fork 1
/
awk_script.go
56 lines (50 loc) · 1.72 KB
/
awk_script.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
// +build linux
package modules
import (
. "github.com/Jungbusch-Softwareschmiede/jungbusch-auditorium/models"
"github.com/Jungbusch-Softwareschmiede/jungbusch-auditorium/util"
)
func (mh *MethodHandler) AwkScriptInit() ModuleSyntax {
return ModuleSyntax{
ModuleName: "AwkScript",
ModuleDescription: "Awk ist eine Skriptsprache zum Editieren und Analysieren von Texten. AwkScript führt ein Skript auf die Input-Datei aus",
ModuleAlias: []string{"awk", "awkScript", "awk_script"},
ModuleCompatibility: []string{"linux"},
InputParams: ParameterSyntaxMap{
"input": ParameterSyntax{
ParamName: "input",
ParamDescription: "String, auf den das Skript angewendet wird",
},
"awkscript": ParameterSyntax{
ParamName: "awkscript",
ParamAlias: []string{"script"},
ParamDescription: "Awk-Script, welches ausgeführt werden soll",
},
"separator": ParameterSyntax{
ParamName: "separator",
IsOptional: true,
ParamDescription: "Legt den Field-Separator fest",
},
},
}
}
// Awk ist eine Skriptsprache zum Editieren und Analysieren von Texten. AwkScript führt ein Awk-Script, auf die Input-Datei aus
func (mh *MethodHandler) AwkScript(params ParameterMap) (r ModuleResult) {
var separator string
if params["separator"] != "" {
separator = "-F" + params["separator"]
}
res, err := util.ExecCommand("awk " + separator + " " + params["awkscript"])
if err != nil {
r.Err = err
return
}
r.ResultRaw = res
r.Artifacts = append(r.Artifacts, Artifact{Name: "awk " + params["awkscript"] + params["input"], Value: r.ResultRaw})
r.Result = r.ResultRaw
return
}
func (mh *MethodHandler) AwkScriptValidate(params ParameterMap) error {
// ?
return nil
}