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

    需求:删除匹配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
    • 本文由 发表于 2012-11-14
    • 转载请务必保留本文链接:https://linuxeye.com/216.html
    读《sed与awk》第1~3章笔记 脚本

    读《sed与awk》第1~3章笔记

    sed、awk功能 sed 在一个或多个文件上自动实现编辑操作 简化对多个文件执行相同的编辑处理工作 编写转换程序 awk 将文本文件看做由记录和字段组成的文本数据库 使用变量操作数据库 使用算术和字...
    读《Linux Shell脚本攻略》第8章笔记 脚本

    读《Linux Shell脚本攻略》第8章笔记

    1. du -a:递归地输出指定目录或多个目录中所有文件的统计结果 -h:以KB、MB或块(block)为单位显示磁盘使用情况 -c:显示磁盘使用总计 -s:只输出合计数据(summarize) –e...
    匿名

    发表评论

    匿名网友