sed的选项与命令简要
第一部分:sed命令选项
| sed选项 | 说明 |
| -n, --quiet, --silent | 静默模式,取消将模式空间中的内容自动打印出来。 |
| -e script, --expression=script | 以选项指定的script来处理文本。 |
| -f script‐file, --file=script‐file | 以选项指定的script‐file文件来处理文本,也就是可以将sed程序写到文件中,然后通过‐f选项指定sed程序。 |
| -i[SUFFIX], --in-place[=SUFFIX] | 就地编辑文件,如果指定了‐i的值(suffix)sed将会备份一份原文件。 |
| -l N, --line-length=N | 也就是说如果后面的command中如果有l(是英文L的小写),就可以通过这里的‐l选项来指定每一行的显示长度,默认是70个字符,如果超过,将会通过跳脱字符“\”来换行。例如 sed ‐n ‐l 10 '1,2l' textfile 将第一和第二行按每行10个字符显示,包括转义字符。 注意:该选项必须要与后面的 –e 指定的指令l一起用。 |
| --posix | 禁用所有的GNU扩展。 |
| -r, --regexp-extended | 在脚本中使用扩展正则表达式。 |
| -s, --separate | 将输入文件视为各个独立的文件而不是一个长的连续输入。 |
| --version | 查看当前sed版本 |
| -u, --unbuffered | 从输入文件装载最少的数据,并且刷新输出缓冲区,也就是说尽量少缓冲input和output 要随时更新。 |
第二部分:sed命令
| sed命令 | 说明 |
| a | 在当前符合条件的行后面插入文本行,新的文本行用反斜杠“\”与a命令隔开。 |
| c | 用新的文本去修改选定的行,新的文本行用反斜杠“\”与c命令隔开。 |
| i | 在当前符合条件的行的前面插入文本行,新的文本行用反斜杠“\”与i命令隔开。 |
| d | 删除模式空间中的全部行,继续进行下一行。 |
| D | 在模式空间中删除掉第一行文本,开始从input中读取下一行,但是如果此时模式空间中还有文本行,将会再用这个数据行进行sed script一次。 |
| p | 打印当前模式空间(Pattern space)中的全部内容。 |
| P | 打印当前模式空间(Pattern space)中内容的第一行数据。 |
| q | 马上退出sed命令,不再处理任何输入,除非没有加‐n(禁止自动输出)选项,否则sed还会将当前模式空间中的内容(当前处理行)输出。 |
| Q | 马上退出sed命令,不再处理任何输入 |
| n | 将当前行的下一行数据覆盖进当前模式空间(Pattern space)的内容中。 |
| N | 将当前行的下一行数据追加进当前模式空间(Pattern space)的内容中。 |
| h | 将模式空间(Pattern space)中的数据复制到保留空间(Hold space)中。 |
| H | 将模式空间(Pattern space)中的数据追加到保留空间(Hold space)中。 |
| g | 将保留空间(Hold space)的数据复制到模式空间(Pattern space)中。 |
| G | 将保留空间(Hold space)的数据追加到模式空间(Pattern space)中。 |
| x | 交换保留空间(Hold space)和模式空间(Pattern space)的内容。 |
| r | 从指定的文件中读取内容,附加到选定行之后。 |
| R | 从指定的文件中读取第一行,附加到选定行之后。 |
| w | 将当前模式空间(Pattern space)的全部内容写入到指定文件中 |
| W | 将当前模式空间(Pattern space)内容中的第一行写入到指定文件中。 |
| l | 将当前行以可见的严格的形式列出来。 |
| = | 输出当前处理行的行号。 |
| F | 打印当前的输入文件的文件名。 |
| e | 此命令后可以执行shell命令 |
| {command} | 命令分组 |
| ! | 后面的命令对所有没有被匹配的行发生作用 |
| b label | 将控制分支到标签,如果标签被忽略,将控制分支到脚本后面。 |
| t label | 如果s指令发生替换操作,尽管已经读入输入的最后一行,或者已经是最后的t、T,都会转移到指定的标签后;如果忽略具体的标签,将会将控制转移到脚本末尾。 |
| T label | 和t差不多,只是这里是s指令没有发生替换操作然后就转移控制到指定标签,如果s指令发生替换,就不转移控制。 |
| s/regexp/replacement/ | 尝试对模式空间中的内容进行正则表达式“regexp”的匹配,如果匹配成功,将会用“replacement”来代替匹配的部分;“replacement”可以包含特殊字符“&”,“&”用来代替匹配“regexp”的模式空间的内容,而\1、\2、\3……\9表示“regexp”的子表达式的匹配内容。 |
| y/source/dest/ | 用另一种字母体系将模式空间(Patter space)内出现的“source”字符替换成对应的“dest”字符。 |
sed的选项与命令简要的更多相关文章
- FPGA综合工具--Synplify Pro的常用选项及命令
最近要用到Synplify,但以前没使用过,无基础,找到一篇帖子,隧保存下来. 本文转自:http://blog.sina.com.cn/s/blog_65fe490d0100v8ax.html Sy ...
- mac上执行sed的编辑 -i命令报错sed: 1: "test.txt": undefined label ‘est.txt’或sed: 1: "2a\test\": extra characters after \ at the end of a command
问题一 sed编辑命令:[sed -i 's/a/b/g' test.txt] 报错:sed: 1: "test.txt": undefined label 'est.txt' ...
- Docker 选项和命令
选项 -D=true|false 使用 debug 模式.默认为 false. -H, --host=[unix:///var/run/docker.sock]: tcp://[host:port]来 ...
- Sed 与 Linux 等价命令代码鉴赏(转)
参考了 http://www.chinaunix.net/jh/24/307045.html sed http://bbs.chinauni ...
- ln 链接命令 简要说明 软硬链接关系说明
ln [选项] 目标 -s 创建符号链接(软链接) -f 强制创建链接 -i 覆盖前先询问 -v 显示创建链接过程 ln命令不能对目录创建硬链接,但可以创建软链接,对目录的软链接经常被用到 删除软链接 ...
- shell编程:sed的选项
sed [参数] [partern/commond] file 标准输出 | sed sed [参数] [partern/commond] -n :使用安静(silent)模式.在一般 sed 的用法 ...
- Docker 基础命令 简要入门
本文出自:http://www.cnblogs.com/scoter2008,本文将持续更新所有docker都可以通过man查看帮助:man docker [ps|top|run|...]1.列出正在 ...
- 3.1、Ansible命令简要说明及初步使用
1.Ansible命令 1.1 Ad-hoc说明 Ansible中有一个很重要的功能就是可以执行ad-hoc命令,它表示即时.临时的意思,即表示一次性的命令.与之相对的是ansible playboo ...
- keystone 命令简要说明
catalog: keystone catalog 可以显示所有已有的service keystone catalog --service service-type 显示某个service信息 end ...
随机推荐
- post get
/// <summary> /// Get方法 /// </summary> /// <param name="serverUrl">url地址 ...
- 什么是html,什么是php
学了这么长时间的网站建设,好像对这两个概念说以来还是语无伦次的,所以就来写一写了.html是什么呢,官方解释:超文本标记语言,超文本就是指页面可以包含图片,连接等非文字元素.超文本标记语言也是一种规范 ...
- Android- Activity not found
今天调试代码的时候,出现很奇怪的现象: \XX\bin\Home.apk installed on device. 一般来说即使已经装到设备中,也没有这个提示,况且更奇怪的是,程序并又有自动运行.查看 ...
- hdoj 2191(多重背包)
悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 Time Limit : 1000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/ ...
- 《uname命令》-linux命令五分钟系列之五
本原创文章属于<Linux大棚>博客. 博客地址为http://roclinux.cn. 文章作者为roc 希望您能通过捐款的方式支持Linux大棚博客的运行和发展.请见“关于捐款” == ...
- linux定时器
我们常常有设置系统在某一时间执行相应动作的需求,比如设置电脑什么时候自动锁屏,什么时候自动关机,设置应用程序什么时候自动运行,什么时候自动退出.这些与时间相关的功能,都需要依靠操作系统中的定时器来实现 ...
- AspNet WebApi : MessageHandler(消息处理器 )
1. Http Message Handler WebApi中的MessageHandler类似MVC中的filter,可用于请求/响应到达真正目标前对请求或者响应进行修改,比如:用户身份验证,请求头 ...
- 谈谈android 布局 的优化
来自:http://www.cnblogs.com/youxilua/archive/2012/05/08/2489414.html 导言 设配android的屏幕一定是一个噩梦,就好比那些搞网页设计 ...
- matplotlib.pyplot 绘图详解 matplotlib 安装
apt-get install python-matplotlib 转载自: http://www.cnblogs.com/qianlifeng/archive/2012/02/13/2350086. ...
- [转]加盐hash保存密码的正确方式
0x00 背景 大多数的web开发者都会遇到设计用户账号系统的需求.账号系统最重要的一个方面就是如何保护用户的密码.一些大公司的用户数据库泄露事件也时有发生,所以我们必须采取一些措施来保护用户的密码, ...