Если вы можете гарантировать, что блоки заканчиваются строкой, содержащей только }
, это можно сделать так же просто:
awk '/^}$/ {delete a} !a[$0]++' input
Если вам нужно более надежное решение, возможно, просто добавьте несколько пробелов к шаблону, чтобы соответствовать концу блока. Но если вам нужен полный анализатор и вы хотите тщательно подбирать фигурные скобки, awk
, вероятно, не подходит для этой задачи.