我有一些 C 原始文件,其中許多在頂部有一個單行註釋,提供了該程式功能的簡短描述(我沒有做任何複雜到足以保證完整段落的事情。)想知道是否可以使用 head 來查看第一個#
,因為那將是我的第一個預處理器指令。如果它印出行號,那也是一個額外的好處。
答案1
Grep 可能是更好的解決方案,使用上下文切換-B
:
grep -B999 -m 1 "^#" file.c
或者,使用長選項名稱:
grep --before-context 999 --max-count 1 "^#" file.c
這會找到模式"^#"
(錨定在行開頭的“#”),最多顯示 999 行前找到的“^#”的最大數量為 1。
所以基本上,找到第一個“^#”,在它之前顯示最多 999 行,然後退出。您可能需要透過 head 進行管道刪除找到的「^#」:
grep -B999 -m1 "^#" file.c | head -n -1
這將切斷最後一行。
我同意這-B999
可能有點過分,但我不想在你變得羅嗦後切斷你在職業生涯後期寫的任何東西。當然要適當調整。