第一部分: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 从指定的文件中读取第一行,附加到选定行之后。
将当前模式空间(Pattern space)的全部内容写入到指定文件中
将当前模式空间(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的选项与命令简要的更多相关文章

  1. FPGA综合工具--Synplify Pro的常用选项及命令

    最近要用到Synplify,但以前没使用过,无基础,找到一篇帖子,隧保存下来. 本文转自:http://blog.sina.com.cn/s/blog_65fe490d0100v8ax.html Sy ...

  2. 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' ...

  3. Docker 选项和命令

    选项 -D=true|false 使用 debug 模式.默认为 false. -H, --host=[unix:///var/run/docker.sock]: tcp://[host:port]来 ...

  4. Sed 与 Linux 等价命令代码鉴赏(转)

    参考了     http://www.chinaunix.net/jh/24/307045.html                       sed     http://bbs.chinauni ...

  5. ln 链接命令 简要说明 软硬链接关系说明

    ln [选项] 目标 -s 创建符号链接(软链接) -f 强制创建链接 -i 覆盖前先询问 -v 显示创建链接过程 ln命令不能对目录创建硬链接,但可以创建软链接,对目录的软链接经常被用到 删除软链接 ...

  6. shell编程:sed的选项

    sed [参数] [partern/commond] file 标准输出 | sed sed [参数] [partern/commond] -n :使用安静(silent)模式.在一般 sed 的用法 ...

  7. Docker 基础命令 简要入门

    本文出自:http://www.cnblogs.com/scoter2008,本文将持续更新所有docker都可以通过man查看帮助:man docker [ps|top|run|...]1.列出正在 ...

  8. 3.1、Ansible命令简要说明及初步使用

    1.Ansible命令 1.1 Ad-hoc说明 Ansible中有一个很重要的功能就是可以执行ad-hoc命令,它表示即时.临时的意思,即表示一次性的命令.与之相对的是ansible playboo ...

  9. keystone 命令简要说明

    catalog: keystone catalog 可以显示所有已有的service keystone catalog --service service-type 显示某个service信息 end ...

随机推荐

  1. 【css面试题】三个DIV要求水平对齐,左右两个DIV宽度固定为100px,中间那个DIV充满剩余的宽度(至少2种方法)

    这是我在一家公司面试时遇到的问题,当时没有答上来!! 所以看到的小伙伴一定要注意了!! 变化浏览器宽度可看到效果: 左 右 中 然后我们来看看代码: 第一种方法:(浮动) <style type ...

  2. 利用MutationObserver对页面元素的改变进行监听

    'use strict'; let MutationObserver = window.MutationObserver || window.WebKitMutationObserver || win ...

  3. jni使用

    版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[-] 简介 详解 JNI 元素 JNI函数实战 AndroidmkApplicationmk Androidmk Applicat ...

  4. SQL server 如何修改登录名和密码

    No :1 启动SQL Server Management Studio,用windows登录进入: No :2 在左侧对象资源处理器中找到根节点,也就是你安装sqlserver时注册的服务器名称.然 ...

  5. PL/SQL Developer简单使用

    表在以下:

  6. C蛮的全栈之路-node篇(一) 环境布置

    目录 C蛮的全栈之路-序章 技术栈选择与全栈工程师C蛮的全栈之路-node篇(一) 环境布置C蛮的全栈之路-node篇(二) 实战一:自动发博客 ---------------- 我是分割线 ---- ...

  7. 【算法】数组与矩阵问题——找到无序数组中最小的k个数

    /** * 找到无序数组中最小的k个数 时间复杂度O(Nlogk) * 过程: * 1.一直维护一个有k个数的大根堆,这个堆代表目前选出来的k个最小的数 * 在堆里的k个元素中堆顶的元素是最小的k个数 ...

  8. TestNG Listener

    常用接口 IExecutionListener   监听TestNG运行的启动和停止. IAnnotationTransformer 注解转换器,用于TestNG测试类中的注解. ISuiteList ...

  9. SQL中distinct的用法和left join查询的含义

    SQL中distinct的用法   1.作用于单列 2.作用于多列 3.COUNT统计 4.distinct必须放在开头 5.其他 在表中,可能会包含重复值.这并不成问题,不过,有时您也许希望仅仅列出 ...

  10. PHP框架_Smarty

    目录 1.环境搭建 2.基本配置 3.Smarty变量调节器 4.Smarty条件判断 5.Smarty的循环 6.Smarty模板的引用 7.Smarty类与对象的赋值与引用 8.smarty函数插 ...