У меня очень большой текстовый файл, который в основном представляет собой журнал сообщений с {
в качестве разделителя между сообщениями. Я хочу удалить блоки между {
, если они удовлетворяют определенному условию. В приведенном ниже примере я хочу удалить средний блок сообщений с EVENT_TYPE = BDE
и оставить два ABC
сообщения. Файл находится на коробке Linux, поэтому у меня есть доступ ко всем вашим обычным grep
, sed
, awk
и т. Д. Я могу использовать эти процессы, чтобы найти EVENT_TYPE
, но не уверен, как затем найти больший блок и удалить его ,
}
/type/ - DataEvents = {
VALUE = 2342
EVENT_TYPE = ABC
VALUE_YESTERDAY = 1299
HAS_DELAY = false
SEND_TIME_RT = 18:55:21.224+00:00
}
/type/ - DataEvents = {
VALUE = 889
EVENT_TYPE = BDE
VALUE_YESTERDAY = 778
HAS_DELAY = false
SEND_TIME_RT = 18:55:21.224+00:00
}
/type/ - DataEvents = {
VALUE = 123
EVENT_TYPE = ABC
VALUE_YESTERDAY = 345
HAS_DELAY = false
SEND_TIME_RT = 18:55:21.224+00:00
}