Tengo algunos archivos fuente en C y muchos de ellos tienen un único comentario de una línea en la parte superior que ofrece una breve descripción de lo que hace ese programa (no he hecho nada lo suficientemente complejo como para justificar un párrafo completo). Me pregunto si sería posible usar head para ver hasta la primera #
, ya que esa sería mi primera directiva de preprocesador. Si imprimiera números de línea, eso también sería una ventaja.
Respuesta1
Grep es probablemente una mejor solución, usando el cambio de contexto -B
:
grep -B999 -m 1 "^#" file.c
o, con nombres de opciones largos:
grep --before-context 999 --max-count 1 "^#" file.c
Esto encuentra el patrón "^#"
(un '#' anclado al principio de la línea), muestra hasta 999 líneasantesél, con un número máximo de "^#" encontrados de 1.
Básicamente, busque el primer "^#", muestre hasta 999 líneas antes y salga. Es posible que desees pasar la tubería por el cabezal para eliminar el "^#" encontrado:
grep -B999 -m1 "^#" file.c | head -n -1
Lo que cortará la última línea.
Estoy de acuerdo en que -B999
podría ser un poco excesivo, pero odiaría cortar cualquier cosa que escribas más adelante en tu carrera después de que hayas hablado. Por supuesto, ajuste según corresponda.