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 从指定的文件中读取第一行,附加到选定行之后。
将当前模式空间(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的选项与命令简要

时间: 2024-08-12 04:15:19

sed的选项与命令简要的相关文章

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

最近要用到Synplify,但以前没使用过,无基础,找到一篇帖子,隧保存下来. 本文转自:http://blog.sina.com.cn/s/blog_65fe490d0100v8ax.html Synplify 使用过程中最常用的选项及命令的介绍.一. 状态机相关(1)FSM Compiler Option FSM Compiler是一个全局选项.勾选此选项之后Synplify Pro会自动检测代码中的状态机,根据状态数量的不同选择不同的编码方式.状态数量在0~4之间采用顺序编码(Sequen

Docker 选项和命令

选项 -D=true|false 使用 debug 模式.默认为 false. -H, --host=[unix:///var/run/docker.sock]: tcp://[host:port]来绑定或者 unix://[/path/to/socket] 来使用. 在 daemon 模式下绑定的 socket,通过一个或多个 tcp://host:port, unix:///path/to/socket, fd://* or fd://socketfd 来指定. --api-enable-c

sed使用之处理文件命令, 注意不是sed的选项

1. sed中的命令, 即引号中使用的模式或功能 原文地址:https://www.cnblogs.com/quzq/p/12141746.html

正则表达式及编程三剑客(grep、sed、awk)命令详解

博文大纲:一.正则表达式(1)正则表达式的定义(2)正则表达式用途1.基础正则表达式(1)grep命令工具2.扩展正则表达式二.文本编辑处理器1.grep命令工具2.sed命令工具3.awk命令工具 一.正则表达式 (1)正则表达式的定义 正则表达式又称正规表达式.常规表达式.在代码中常简写为regex.regexp或RE.正则表达式是使用单个字符串来描述,匹配一系列符合某个句法规则的字符串.简单的说,正则表达式是一种匹配字符串的方法,通过一些特殊符号,实现快速查找.删除.替换某个特定字符串.

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' 解决方案:增加一个备份的追加名[sed -i '.bak' 's/a/b/g' test.txt] 原因:mac强制要求备份,否则报错 当然可以不使用其他备份名字,只是用’',就可以只保留一份 sed -i ‘’ ’s/a/b/g’ test.txt 问题二 sed追加命令:[sed -i '' "/

Docker 基础命令 简要入门

所有docker都可以通过man查看帮助:man docker [ps|top|run|...] 1.列出正在运行的镜像docker ps不给参数,返回正在运行的容器-a 列出所有容器-l 列出最新创建的容器 2.启动容器docker run ID [命令] [参数]-i #为容器始终打开标准输入-t #为创建的容器提供一个伪tty终端 3.查看已建立的容器的详细信息docker inspect [ID|容器名] 4.自定义容器名docker run --name=自定义容器名 ID [命令]

ubuntu下su与su -命令简要分析

Linux中切换用户的命令是su或su -. su命令和su -命令最大的本质区别就是:前者只是切换了root身份,但Shell环境仍然是普通用户的Shell:而后者连用户和Shell环境一起切换成root身份了. 切换之后可以使用pwd查看一下当前的工作目录,也可以使用echo $PATH查看一下环境变量,观察su和su -的区别. 我们切换用户的时候应该使用的就是su-,切换其他用户时也是如此,如想切换其他用户可以参考 su - fmaster来输入命令行.

sed 命令

sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响.处理时,把当前处理的行存储在临时缓冲区中,称为"模式空间"(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕.接着处理下一行,这样不断重复,直到文件末尾.文件内容并没有 改变,除非你使用重定向存储输出.Sed主要用来自动编辑一个或多个文件:简化对文件的反复操作:编写转换程序等. sed的选项.命令.替换标记 命令格式 sed [options

sed命令详解和实例

sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响.处理时,把当前处理的行存储在临时缓冲区中,称为"模式空间"(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕.接着处理下一行,这样不断重复,直到文件末尾.文件内容并没有 改变,除非你使用重定向存储输出.Sed主要用来自动编辑一个或多个文件:简化对文件的反复操作:编写转换程序等. sed的选项.命令.替换标记 命令格式 sed [options