sed
可以自己完成这一切:
sed -n '$!N;/.*PATTERN.*/q;P;D' infile
Run Code Online (Sandbox Code Playgroud)
很简单:打开静默模式,使用滑动窗口(通过N
和D
,这样模式空间中总是有两行),q
如果遇到 uitPATTERN
否则P
rint 模式空间中的第一行并重新开始循环。
有了gnu sed
它甚至更短,因为它可以Q
无自动打印,所以你可以跳过静音模式UIT:
sed '$!N;/.*PATTERN.*/Q;P;D' infile
Run Code Online (Sandbox Code Playgroud)