Я знаю another question, что очень похоже, но по какой-то причине у меня все еще возникают проблемы.sed regex to non-greedy заменить?
У меня есть журнал GC, который я пытаюсь сделать отделка раздел, посвященный делу, заключенный в []
.
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]
применяю s/\[Tenured:.*\]//
И совсем выжидательно, результат обрезается жадностью через оставшуюся часть строки:
63.544: [GC 63.544: [DefNew: 575K->63K(576K), 0.0017902 secs]63.546:
Так давайте попробуем и быть не жадный не совпадают с закрывающей правой скобкой с 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]
Как я не жадно подхожу и заменяю этот раздел? Спасибо,
Я не верю, что SED поддерживает это, но независимо от того, я просто попытался его снова и никакой радости. – Xailor
См. Элемент SO, связанный в моем редактировании. – Amber
См. Упомянутый вопрос http://stackoverflow.com/questions/1103149/non-greedy-regex-matching-in-sed –