Linux sed 流编辑器

Posted 吃饭睡觉打豆豆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux sed 流编辑器相关的知识,希望对你有一定的参考价值。

sed是stream editor的简称,也就是流编辑器。盗用一张图片解释原理

 

命令格式:

SYNPPSIS: sed [OPTION]… {script-only-if-no-other-script} [input-file]…

选项:

-n 使用安静(silent)模式(想不通为什么不是-s)-e 直接在指令列模式上进行 sed 的动作编辑;
-f 直接将 sed 的动作写在一个文件内, -f filename 则可以执行filename内的sed命令;
-r 让sed命令支持扩展的正则表达式(默认是基础正则表达式);
-i 直接修改读取的文件内容,而不是由屏幕输出。

常用命令

a \\text append即追加字符串, a \\的后面跟上字符串s(多行字符串可以用\\n分隔),则会在当前选择的行的后面都加上字符串s;
c \\text 取代/替换字符串,c \\后面跟上字符串s(多行字符串可以用\\n分隔),则会将当前选中的行替换成字符串s;
d 即删除,该命令会将当前选中的行删除;
i \\text insert即插入字符串,i \\后面跟上字符串s(多行字符串可以用\\n分隔),则会在当前选中的行的前面都插入字符串s;
p print即打印,该命令会打印当前选择的行到屏幕上;
s/pattern/string/ 替换,通常s命令的用法是这样的:1,2s/old/new/g,将old字符串替换成new字符串  分隔符可以使 /  #  @ 等 修饰符 g:全局 i:忽略大小写
w /PATH/TO/SOMEFILE 保留模式空间匹配到的行至指定的文件中

例:

将passwd中含 root 的行保存在 当前目录下abc文件中

# sed \'/root/w ./abc\' passwd 

 

以上是关于Linux sed 流编辑器的主要内容,如果未能解决你的问题,请参考以下文章

Shell 基础 -- 流编辑器 sed 详解

Linux常用命令——sed

sed:轻量级流编辑器

Linux Shell编程 sed命令

流编辑器 sed

linux sed 命令详解