Захват текста между фигурными фигурными скобками в предварительно обработанном файле C

Я работаю с предварительно обработанным исходным файлом C. Я хочу извлечь одну функцию для дополнительной обработки. Я могу найти начало конкретной функции с помощью:

gcc -DNDEBUG -march=native -E source.c > source.pre BEGIN=$(grep -n 'static inline int some_function' source.pre | cut -f 1 -d ':') 

После выполнения выше, у меня есть номер строки, где начинается функция. В этом случае его 7812.

У меня возникли проблемы с созданием способа захвата текста между фигурными скобками функции C ( { и } ). Основываясь на средстве вычитания строк текстового файла , я думаю, что это сводится к проблеме нахождения непосредственной закрывающей скобки ( } ).

Как найти ближайшую закрывающую скобу? Или как я могу захватить текст между фигурными фигурными скобками в предварительно обработанном файле C?

One Solution collect form web for “Захват текста между фигурными фигурными скобками в предварительно обработанном файле C”

Если предположить, что в источнике нет ничего глупого, что могло бы поместить заблуждение } на строку, попробуйте sed .

 sed -n '/^static inline int some_function(/,/^}$/p' source.pre 
  • Обработка двух файлов с помощью awk
  • Извлечение только китайских символов
  • Как читать только вторую последнюю строку файла
  • разбиение файла на номер столбца
  • Как напечатать следующий n-й столбец в текущей строке после соответствия шаблону?
  • Сопоставление определенных столбцов с другим файлом
  • Просмотрите изменения в .tex-файлах
  • Slick one-liner для преобразования списка типа «1: 2, 3, 4, 5» в «1.2, 1.3, 1.4, 1.5»
  • Как извлечь данные из файла JSON
  • Извлечь параметры tomcat из вывода ps
  • Как удалить конечные пробелы в конце строки в заданных файлах (более одного)?
  • Linux и Unix - лучшая ОС в мире.