删除指定行的上一行和下一行

  • A+
所属分类:Shell

需求:删除匹配linuxeye.com行的上一行和下一行,下面是使用sed删除指定行的上一行 awk删除指定行的下一行方法:

  1. # cat test.txt
  2. .....
  3. <!--
  4. blog.linuxeye.com
  5. -->
  6. .......

sed删除指定行的上一行

  1. sed -i -e :a -e '$!N;s/.*\n\(.*linuxeye.com\)/\1/;ta' -e 'P;D' test.txt

awk删除指定行的下一行

  1. awk '!NF{print;next};!/linuxeye.com/;/linuxeye.com/{print;getline;getline;print}' test.txt
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: