有一個問題想請教
如果說我的內容為
123
456
789
123
123
abc
def
ghi
我想找出123~def
也就是最後為
123
abc
def
請問我該如何解?
基本上,sed 是「以行為單位」來運做的[1],
因此當它讀到底下的 abc 時,並不會記得前一行曾讀過了 123。
如果不麻煩的話,其實可以寫一個 while loop,可能會比 sed 還要快,畢竟 sed 也是一行一行讀取的。或者改用 python 或 cpp 來實做。但如果堅持要用 sed 的話:cat file | sed ':a;N;$!ba;s/123\nabc\ndef/Found!/'
,不過不保證會對,因為 buffer 大小有限。