sed上古神兵

sed [options] '匹配条件&操作指令;匹配条件&操作指令;' file
options:

选项 功能
-n ,--silent 因为sed命令默认会向屏幕输出,设置此选项后阻止输出
-r 支持扩展正则,sed默认是不支持扩展正则的
-i [suffix] 直接修改源文件,如果设置了后缀名,sed将将数据备份;sed默认是只修改缓冲区的,并打印到屏幕上
-e 指定需要执行的sed命令,支持使用多个-e参数
-f 指定需要执行的脚本文件,需要提前将sed命令写入文件中

基本操作指令

指令 功能
p 打印当前匹配条件匹配的行
l 打印当前匹配条件匹配的行(显示控制字符)
= 打印行号
a text 在匹配的行后添加字符串text,text是独占一行
i text 在匹配的行前添加字符串text,text是独占一行
d 删除匹配的行
c text 将匹配的行的整行替换为text
r filename 从filename中读取内容添加到匹配的行后面
w filename 将匹配的行的内容写到文件filename中
q [exit code] 立刻退出sed脚本
s/regexp/replace/ 使用正则匹配,替换匹配到的数据,不是整行哦;regexp是正则表达式,replace是用来替换的字符串
s/regexp/replace/g 加个g,如果一行数据中有多个regexp,都替换成replace
s/regexp/replace/number 加个n,如果一行数据中有多个regexp,仅仅替换第n个

数据定位方案

格式 功能
数字 1就是第一行; 1,3就是第一行到第三行;
数字1~数字2 数字1是起始行号,数字2是步长,例如1~3 等于匹配1,4,7,……
数字1,+N 从数组1开始及其后面N行,例 1,+3
$ 匹配最后一行
/regexp/ 正则表达式
\cregexpc 使用正则表达式匹配,c可以是任意字符,\xAAx将匹配AA
反操作

你可能感兴趣的:(sed上古神兵)