我需要提取命令,无论我们在下一行中的单词CMD后面的()中看到什么。
Oct 29 08:00:01 data2 crond[14368]: (root) CMD (sh -xv /home//ste-telnet.sh > /home/hari/logs/ste-telnet$(date +'%Y_%m_%d_%h_%m').succ 2> /home/hari/logs/ste-telnet$(date +'%Y_%m_%d_%h_%m').err)
我需要使用正则表达式,因为splunk只能理解它。
答案 0 :(得分:1)
试试这个
CMD (.*)$
如果该行的最后一件事是一个命令(包含CMD的列是最后一列),这将有效。
答案 1 :(得分:0)
这有点棘手。问题是你在那里有嵌套的括号。所以,如果你使用
CMD \((.*)\)
在你的情况下你会得到一个正确的结果(实际的命令将在匹配的组号1中),但是一旦你有多个命令(或多组最外面的括号),这将失败在你的字符串中CMD
之后。