2011-10-29 43 views
0

我需要提取命令,無論我們在()中看到以下行中的單詞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

命令是否總是跨越整個字符串的其餘部分? (字符串的末尾是否總是立即在''後面結尾)?) – Nightfirecat

+0

第一個(在CMD之後可以有多個(((和))。你可以在任何linux機器上檢查這個文件#tail在/ var /日誌/ cron的 – shantanuo

回答

1

試試這個

CMD (.*)$ 

如果上線的最後一件事是一個命令(含CMD列是最後一列)

0

這是一個有點棘手,這將工作。問題是你在那裏嵌套括號。所以,如果你使用

CMD \((.*)\) 

,你會在你的案件得到正確的結果(實際的命令將在比賽中的組號1),但會盡快你有一個以上的命令失敗(或在字符串中的CMD之後的一組以上的最外括號)。