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

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

  1. # cat test.txt
  2. …..
  3. <!–
  4. 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

【AD】美国洛杉矶CN2 VPS/香港CN2 VPS/日本CN2 VPS推荐,延迟低、稳定性高、免费备份_搬瓦工vps

【AD】搬瓦工限量套餐:POWERBOX-30-1536,美国洛杉矶DC99 CN2 GIA,年付仅$41.95!