sed流处理工具(行处理工具)正则表达式
格式:sed 【选项】 '地址命令;地址命令' 【文件】工具
例:sed -n '/root/p' /etc/passwd变量
经常使用选项:扩展
-n 不自动打印sed
-e 多点编辑file
-f /path/file 从指定文件读取编辑脚本循环
-r 支持使用扩展正则表达式文件读取
-i.bak 备份文件并原处编辑数据
经常使用编辑命令:脚本
d 删除匹配的行,并当即启用下一轮循环
p 打印匹配内容,追加到默认输出以后
a[\]text 在匹配行后面追加文本,支持使用\n实现多行追加
i[\]text 在匹配行前面追加文本
c[\]text 替换匹配行为单行或多行文本
w /path/file 保存匹配的行至指定文件
r /path/file 读取指定文件的文本至匹配的行后
= 为行打印行号
! 对匹配的行取反处理
s/// 查找替换,支持使用其余分隔符@@@、###
替换标记
g 行内全局替换
p 显示替换成功的行
w /path/file 将替换成功的行保存到文件中
#sed 's/'''$var'''/zfc/' /etc/passwd '''变量var'''
高级编辑命令
P 打印模式空间开端至\n内容,并追加到默认输出以前
h 把模式空间的内容覆盖至保持空间
H 把模式空间的内容追加至保持空间
g 从保持空间取出数据覆盖至保持空间
G 从保持空间取出数据追加至保持空间
x 把模式空间中的内容和保持空间中的内容互换
n 读取匹配到的行的下一行覆盖至模式空间
N 读取匹配到的行的下一行追加至模式空间
d 删除模式空间中的行
D 若是模式空间包含换行符,则删除直到第一个换行符的模式空间中的文本,并不会读取新的输入行,而使用合成的模式空间从新启动循环。若是模式空间不包含换行符,则会像d命令那样启动正常的新循环。