我有了這樣的一個日誌文件:Unix的一個班輪匹配文件的2段
blah blah
blah
blah mypattern blah
blah mypattern blah
blah
blah mypattern blah
blah mypattern blah
blah
我想一個班輪閱讀上述從標準輸入(即單通過),用mypattern打印2組行,然後在打印第二組行後直接退出。
在情況下,我只想要一組線的我用下面的一行代碼:
sed '1,/mypattern/d' |sed '/mypattern/!q'
,你可以看到,一條線在這裏還是沒有什麼大不了的。
編輯:這是我的粗略預計輸出
blah mypattern blah
blah mypattern blah
blah mypattern blah
blah mypattern blah
如果添加或在這裏或那裏錯過了線在邊界的兩邊,是不是一個大問題。重要的是,對於無限輸入,如果模式有2個有限部分,並且兩者之間有有限的間隙,則它將終止。
什麼是你期望的輸出STED? – 2014-10-03 04:52:37
您爲一組案例編寫的代碼不會打印該組的第一行。 – Barmar 2014-10-03 04:54:23
@Barmar正確。我相信這一點,只要它能打印每一組的大部分內容 - 實際上比賽的起跑線和終點線並不重要。 – grasevski 2014-10-03 04:59:03