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 流编辑器的主要内容,如果未能解决你的问题,请参考以下文章