Приведенные ниже версии охватывают общие простые случаи
perl -n0E 's!//.*!!g;
s!/\*.*?\*/!!gs;
say $ARGV if /Mat/' *.c *.md
Как указал @MikeA (пожалуйста, посмотрите его решение), в некоторых ситуациях нужен C-препроцессор или даже cpp-парсер Пример вложенных комментариев, комментариев в строках.
Чтобы просмотреть все .md
в дереве вашего проекта (предполагая простые имена... )
perl .... $(find -name="*.md")