我覺得好像這個問題以前一定要問過,但我根本找不到類似的問題。在兩個「標題」之間打印文件的一部分
我有一個非常簡單的文件格式:
Header 1:
<multiline text>
Header 2:
<multiline text>
Header 3:
<multiline text>
在每端有一個冒號(任意命名的)頭,其次是縮進用空格文本。
例如,我想選取特定標題下的文本,例如, 「標題2」。最明顯的嘗試是grep
,但我只能匹配某些行並輸出固定數量的上下文行。我還介紹了使用sed
,就像這樣:
sed -ne '/Header 2:/,$p'
當然但這打印出一切直到文件的末尾。
編輯:在一個實際的用例中,我不一定知道什麼標題跟在「標題2」,如果有甚至有一個(它可能是文件中的最後一個)。
對不起,我應該'頭2'後提到的頭可能是不確定的或不存在的。所以我不能依靠它的價值。 – nneonneo
@nneonneo那麼你怎麼知道塊的結束時間? – user000001
每個標頭都是縮進的,以冒號結尾,它也可以由EOF結束。 – nneonneo