我知道另一个问题 https://stackoverflow.com/questions/1103149/non-greedy-regex-matching-in-sed这非常相似,但由于某种原因我仍然遇到问题。
我有一个 GC 日志,我正在尝试trim out所附的终身教职部分[]
.
63.544: [GC 63.544: [DefNew: 575K->63K(576K), 0.0017902 secs]63.546: [Tenured: 1416K->1065K(1536K), 0.0492621 secs] 1922K->1065K(2112K), 0.0513331 secs]
I apply s/\[Tenured:.*\]//
令人期待的是,结果被修剪了greedily通过该行的其余部分:
63.544: [GC 63.544: [DefNew: 575K->63K(576K), 0.0017902 secs]63.546:
所以让我们尝试不贪婪not将右括号与s/\[Tenured:[^\]]*\]//
但可惜没有匹配,sed 跳过该行,产生相同的原始输出:
63.544: [GC 63.544: [DefNew: 575K->63K(576K), 0.0017902 secs]63.546: [Tenured: 1416K->1065K(1536K), 0.0492621 secs] 1922K->1065K(2112K), 0.0513331 secs]
我如何非贪婪地匹配和替换该部分?谢谢,