Используя голову, чтобы увидеть до персонажа
У меня есть несколько исходных файлов на Си, и у многих из них есть один однострочный комментарий вверху, который предлагает краткое описание того, что делает эта программа (я не сделал ничего достаточно сложного, чтобы гарантировать полный абзац). Я был интересно, можно ли было использовать голову, чтобы увидеть до первого #
с тех пор это будет моей первой директивой препроцессора. Если бы он печатал номера строк, это тоже было бы бонусом.
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
может быть немного чрезмерно, но я бы не хотел обрезать все, что ты пишешь позже в своей карьере, после того, как ты рассердился. Отрегулируйте по необходимости, конечно.