О редакторе sed

топ 100 блогов hardsign19.12.2021

Отредактировать файл – что может быть проще? Открыл в любом текстовом редакторе – и гоняй курсор по экрану туда-сюда, насколько позволит монитор. Но... так было не всегда.

Помню, в школе мы работали на ЭВМ СМ-4, у которой были разные терминалы – польские, кубинские (!) и советские. Так вот, для советского терминала редактор был строчный. То есть оператор мог видеть и редактировать только одну строку, а остальные должен был держать в уме. Очень удобно, да.

С тех пор много воды утекло, но строчные редакторы и не думают умирать. Среди набора утилит GNU, вдохновлённого великим Ричардом Столлманом, есть редактор sed, который работает с единственной строкой. Хорош он тем, что файл редактирует робот, набор инструкций которого чем-то напоминает черепашку из детского языка Logo.

До сих пор моё знакомство с этим инструментом было скорее теоретическим, но недавно появилась у меня странная задача – посчитать количество функций, объявленных в заголовочном файле языка C. И вот тут...

Впрочем, дальше уже идёт тарабарщина, поэтому прячу её под кат.

cat db2api.h | \
sed -r 's#\/\*.*\*\/##g' | \
sed -r 's#\/\*.*$##;T;: nl;N;s#^.*\*\/##;t;s#^.*$##;b nl' | \
sed -r 's/^#define//;T;: cont;s/.*\\\s*$//;T eof;n;b cont;: eof;d' | \
grep -vE '^#' | \
grep -vE '^\s*$'

Первая команда удаляет однострочные комментарии. Вторая команда удаляет многострочные комментарии. Третья команда расправляется с директивами препроцессора #define, включая многострочные. И наконец два финальных grep’а расправляются с остальными директивами препроцессора и пустыми строками.

Наверно, можно было копать и дальше, но оказалось, что теперь достаточно посчитать количество открывающих круглых скобок. Их оказалось 486...

Оставить комментарий

Архив записей в блогах:
Без торрентов, в настоящее время, не обходится ни один человек, в связи с этим интернет-портал www.ecasoft.ru постоянно готов предоставить для своих посетителей лучшие программы. На нашем сайте вы можете найти массу разных утилит, самоучителей, ...
С удовольствием беру переводы - времени у меня вагон, почему бы не помочь? Новые знакомства, новые истории. На этой недели попросили перевести собрание совственников одной многоэтажки - в ней несколько владельцев квартир русскоговорящие. Общество собралось и председатель начал свою речь ...
© РИА НОВОСТИ/Пресс-служба президента РФ 06.09.2012, Россия | Владимир Путин совершил полет на мотодельтаплане вместе со стаей маленьких журавлей, занесенных в Красную книгу, сообщает Газета.ру. После полета Путин рассказал журналистам, что ...
Крайне интересная, я бы даже сказал - поучительная история самообороны с ...
Вчерашний мой пост про открытие новых больниц в Грузии вызвал просто неожиданный отклик у российских читателей. И если раньше абсолютное большинство просто прикалывалось бы что Саакашвили есть галстуки, то теперь большинство говорит, что ...