Mit dem Kopf zu einer Figur hinaufsehen

Mit dem Kopf zu einer Figur hinaufsehen

Ich habe einige C-Quelldateien und viele davon haben oben einen einzelnen einzeiligen Kommentar, der eine kurze Beschreibung dessen bietet, was das Programm macht (ich habe nichts gemacht, das so komplex wäre, dass es einen ganzen Absatz wert gewesen wäre). Ich habe mich gefragt, ob es möglich ist, head zu verwenden, um bis zum ersten zu sehen #, da dies meine erste Präprozessordirektive wäre. Wenn es Zeilennummern ausgeben würde, wäre das auch ein Bonus.

Antwort1

Grep ist wahrscheinlich eine bessere Lösung, indem der Kontextwechsel verwendet wird -B:

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

oder bei langen Optionsnamen:

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

Dies findet das Muster "^#"(ein '#' am Anfang der Zeile verankert), zeigt bis zu 999 ZeilenVores, mit einer maximalen Anzahl gefundener "^#"'s von 1.

Suchen Sie also im Wesentlichen nach dem ersten "^#", zeigen Sie bis zu 999 Zeilen davor an und beenden Sie. Sie können auch über head das gefundene "^#" entfernen:

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

Dadurch wird die letzte Zeile abgeschnitten.

Ich stimme zu, dass das -B999vielleicht ein bisschen übertrieben ist, aber ich würde es hassen, wenn Sie später in Ihrer Karriere irgendetwas von dem, was Sie schreiben, abbrechen würden, wenn Sie zu wortreich geworden sind. Passen Sie es natürlich entsprechend an.

verwandte Informationen