使用Sed删除第一行部分

时间:2017-10-26 11:07:42

标签: regex sed

尝试使用sed从日志文件的每一行中删除日期/时间部分。 日志文件例如:

2017-10-26 09:58:57: {..1.}
2017-10-26 09:58:58: {..2.}

但是这个:

cat log.log | sed "s/^.+?(?={)//g"

不起作用,该行按原样打印,而不是删除日期部分。

1 个答案:

答案 0 :(得分:1)

您不能在 sed 模式中使用前瞻(模式中的(?={))和延迟量词(+?)。

使用

sed 's/^[^{]*//'

其中^[^{]*匹配行的开头(^),然后[^{]*匹配{以外的0个或更多字符。

请参阅online demo