я получил сложный файл, имеющий содержание, как:Определено пользователем Правило регулярных выражений, как?
AAA
{
"(BBB|KKK)"
{
B_1 abc;
B_2 bcd;
B_3 efg;
B_4 xyz;
}
CCC
{
C_1 cbc;
C_2 dcd;
}
}
DDD
{
EEE
{
E_1 ebc;
E_2 fcd;
}
"(FFF|LLL|MMM|NNN)"
{
F_1 gbc;
F_2 hcd;
}
}
GGG
{
G_1 ibc;
}
HHH
{
III
{
JJJ
{
J_1 jbc;
J_2 kbc;
}
}
}
Я хочу с помощью AWK или некоторые инструменты, чтобы получить результат, как (просто взять пример)
F_1 = gbc
G_1 = ibc
J_1 = jbc
Мой вопрос заключается в следующем: как определить шаблон регулярного выражения, чтобы совместить, во-первых, искать ключевое слово FFF
, затем выводить содержимое, находящееся между ближайшими браслетами {
и }
?
F_1 gbc;
F_2 hcd;
И тогда это содержимое может быть дополнительно конвейеру и с помощью grep
я могу получить значение gbc
для элемента F_1
.
Кто-нибудь знает, как это сделать?
Что произойдет с ключевым словом «DDD»? – Scrutinizer
Да, действительно есть несколько сведений о первом и третьем уровне, которые мне тоже нужны. См. Мой отредактированный пост. – Daniel
Это похоже на один из тех вопросов, где вы можете подумать, что можете попросить что-то маленькое, а затем расширить его позже, но ваши более поздние требования могут потребовать совершенно другого решения оригинала, и поэтому люди, читающие эту тему и отправляющие ответы, могут расстроиться и потеряйте интерес, поэтому убедитесь, что вы публикуете свой реальный, окончательный ожидаемый результат, учитывая некоторые действительно репрезентативные выборки. –