2015-12-17 44 views
-2

有沒有什麼方法可以通過使用grep和awk cmd來排除一些regEx格式的字符串。 我有一個grep的輸出結果如下,如何用grep和awk cmd排除一些字符串?

   msgBody    |flowid=9984|level=0|flow=ServiceLayer->Application[2015-12-17 12:13:57.281][000000012][00052] [SDK_SSF][Trace] 
      msgBody    |flowid=9984|level=0|flow=ServiceLayer->Application[2015-12-17 12:13:57.461][000000012][00052] [SDK_SSF][Trace] 
      msgBody    |flowid=9984|level=0|flow=Application->ServiceLayer[2015-12-17 12:13:57.461][000000001][00052] [SDK_CS][Trace] 

我需要它不包含日期和時間戳的輸出,以及我用來直接「AWK $ 2」,但其輸出的日期也因爲日期是不是在單獨的列。

以任何其他方式獲取輸出如下?

   msgBody    |flowid=9984|level=0|flow=ServiceLayer->Application[000000012][00052] [SDK_SSF][Trace] 
      msgBody    |flowid=9984|level=0|flow=ServiceLayer->Application[000000012][00052] [SDK_SSF][Trace] 
      msgBody    |flowid=9984|level=0|flow=Application->ServiceLayer[000000001][00052] [SDK_CS][Trace] 

回答

1

我會使用sed刪除第一個括號。

sed 's/\[[^\[]*\]//' file 

sed 's/\[[0-9.: -]*\]//' file 
1
cut -d'[' -f1,3,4,5,6 
     msgBody    |flowid=9984|level=0|flow=ServiceLayer->Application[2015-12-17 12:13:57.281][000000012][00052] [SDK_SSF][Trace] 
     msgBody    |flowid=9984|level=0|flow=ServiceLayer->Application[000000012][00052] [SDK_SSF][Trace] 
+0

謝謝,,工作完美.. –

+0

檢查'--compliment'選項:'切-d '[' -f2 --compliment' – anishsane