需求:删除匹配linuxeye.com行的上一行和下一行,下面是使用sed删除指定行的上一行 awk删除指定行的下一行方法:
- # cat test.txt
- …..
- <!–
- linuxeye.com
- –>
- …….
sed删除指定行的上一行
- sed -i -e :a -e ‘$!N;s/.*\n\(.*linuxeye.com\)/\1/;ta’ -e ‘P;D’ test.txt
awk删除指定行的下一行
- awk ‘!NF{print;next};!/linuxeye.com/;/linuxeye.com/{print;getline;getline;print}’ test.txt