2015-12-17 18 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