sed打印匹配行上面几行

 输出匹配行的前3行

 
  
  1. seq 10 | sed -n '1,3N;N;s/\n5//;ta;D;:a;p' 

结果输出为

 

 
  
  1. 2  
  2. 3  
  3. 4  

 

 
  
  1. seq 10 | sed -n '1,2N;N;s/\n5//;ta;D;:a;p'  

将是输出匹配行的前2行即

 
  
  1. 3  

 这里需要注意的是跳转t,请见本博客http://1099325.blog.51cto.com/1089325/967635