6.sed高级子命令
来源:互联网 发布:array python 编辑:程序博客网 时间:2024/05/16 12:14
高级子命令
n 读入下一行到模式空间。
例: '4{n;d}' 4 定址,n 表示把第五行读入模式空间 d 表示删除第五行。
N 追加下一行到模式空间,即当前行和下一行同时应用后面的命令。
P 输出多行模式空间的第一部分(第一行),在执行完最后一个命令后,模式空间内容自动输出。P经常出现在N之后和D之前。
D 删除模式空间中的第一行内容,与d不同,D不会导致读入新的行。而是重新开始执行脚本的第一个命令。
这三个命令能建立一个输入、输出循环,用来维护两行模式空间,但是一个只输出一行。
实例:
分析:
1.读入第一行,N 追加第二行到第一行后面,$!P 输出第一行,D 删除模式空间中的第一行,并且重新执行脚本命令。
2.N 追加第三行到第二行后面(目前模式空间中为第二行和第三行),$!P 输出第二行,D 删除第二行,从头执行脚本命令。
3.N 追加第四行到第三行后面(目前模式空间为第三行和第四行), $!P 不执行,D删除第三行,从头执行脚本命令。
4.因为文本中没有内容,脚本不执行,直接输出模式空间中的内容:第四行。
n 读入下一行到模式空间。
例: '4{n;d}' 4 定址,n 表示把第五行读入模式空间 d 表示删除第五行。
N 追加下一行到模式空间,即当前行和下一行同时应用后面的命令。
P 输出多行模式空间的第一部分(第一行),在执行完最后一个命令后,模式空间内容自动输出。P经常出现在N之后和D之前。
D 删除模式空间中的第一行内容,与d不同,D不会导致读入新的行。而是重新开始执行脚本的第一个命令。
这三个命令能建立一个输入、输出循环,用来维护两行模式空间,但是一个只输出一行。
实例:
sed 'N;$!P;D' a.txt 删除文件倒数第二行
分析:
1.读入第一行,N 追加第二行到第一行后面,$!P 输出第一行,D 删除模式空间中的第一行,并且重新执行脚本命令。
2.N 追加第三行到第二行后面(目前模式空间中为第二行和第三行),$!P 输出第二行,D 删除第二行,从头执行脚本命令。
3.N 追加第四行到第三行后面(目前模式空间为第三行和第四行), $!P 不执行,D删除第三行,从头执行脚本命令。
4.因为文本中没有内容,脚本不执行,直接输出模式空间中的内容:第四行。
0 0
- 6.sed高级子命令
- 高级Sed命令---N
- SED高级编辑命令
- linux sed命令 + 高级SED 操作配置文件
- 高级sed编程1--多行命令
- 4.sed中的基本子命令1
- 4.sed中的基本子命令2
- sed 高级
- sed 命令完全解析--之linux高级命令
- sed高级编程--保留空间和否定命令
- Linux-sed命令(基础和高级用法)
- Linux中的高级文本处理命令,cut命令,sed命令,awk命令
- Linux中的高级文本处理命令,cut命令,sed命令,awk命令
- sed命令
- sed命令
- sed 命令
- sed命令
- Sed 命令
- 发布已完成的学校远程教育网络课程项目的源程序
- Spark查询Hive表时没有权限及无法找到表
- JAVA实现的简单CRM系统源代码
- 发布中小企业产品展示的ASP网站整站源代码
- 企业网站展示补充用Jquery实现简单的动态变化效果
- 6.sed高级子命令
- 用JS实现WordPress的页面导航的新页面的不同打开方式
- Java 读取配置文件Properties
- 用AS+JS实现IE等浏览器的强制弹出窗口源代码
- java 异常处理
- 发布WordPress支持列表显示的音乐播放器插件
- php4/5使用Dom方式读取和解析和创建XML简单教程
- 修改Realtek瑞昱网卡硬件MAC地址突破路由器上网Mac地址绑定
- 发布基于C#与Flash通信的游戏设计器完整源代码