有没有办法通过使用grep和awk cmd来排除一些regEx格式的字符串。?我有如下的grep输出,
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]
我会使用sed来移除第一个括号。
sed 's/[[^[]*]//' file
或
sed 's/[[0-9.: -]*]//' file
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]