Используя голову, чтобы увидеть до персонажа

У меня есть несколько исходных файлов на Си, и у многих из них есть один однострочный комментарий вверху, который предлагает краткое описание того, что делает эта программа (я не сделал ничего достаточно сложного, чтобы гарантировать полный абзац). Я был интересно, можно ли было использовать голову, чтобы увидеть до первого #с тех пор это будет моей первой директивой препроцессора. Если бы он печатал номера строк, это тоже было бы бонусом.

1 ответ

Решение

Grep, вероятно, является лучшим решением с использованием переключения контекста. -B:

grep -B999 -m 1 "^#" file.c

или с длинными именами опций:

grep --before-context 999 --max-count 1 "^#" file.c

Это находит образец "^#" ('#', привязанный в начале строки), показывает до 999 строк перед ним, с максимальным числом "^#", найденным 1.

В общем, найдите первый "^#", покажите до 999 строк перед ним и выйдите. Возможно, вы захотите пройти через голову, чтобы удалить найденный "^#":

grep -B999 -m1 "^#" file.c | head -n -1

Который будет отрезать последнюю строку.

я согласна с тем что -B999 может быть немного чрезмерно, но я бы не хотел обрезать все, что ты пишешь позже в своей карьере, после того, как ты рассердился. Отрегулируйте по необходимости, конечно.

Другие вопросы по тегам