Linux学习笔记六:sed
作者:互联网
sed 行编辑器
pattern space
hold space
处理逻辑:逐行读取,读入一行,默认打印一行,进行逻辑处理,再读入下一行,知道文件结尾。
sed script:'address command' 地址定界+命令
选项:
-n:不打印模式空间行
-e:多点操作
-f: 使用脚本文件
地址定界:
#: 第#行
#,#+3:#~#+3行
/pattern/:模式匹配定界
/pattern/,/pattern/:模式定界
#,/pattern/:组合定界
$: 最后一行
1~2:奇数行
2~2:偶数行
命令:
p:打印
d:删除
!:取反
a:在下一行追加,有空格要转义,有变量要放在'''$VAR'''
i:在匹配行上一行插入内容
c:替换
w:写到文件中
r:读入文件
=:打印行号
高级用法:
P: 打印模式空间开端至\n内容,并追加到默认输出之前
h: 把模式空间中的内容覆盖至保持空间中
H:把模式空间中的内容追加至保持空间中
g: 从保持空间取出数据覆盖至模式空间
G:从保持空间取出内容追加至模式空间
x: 把模式空间中的内容与保持空间中的内容进行互换
n: 读取匹配到的行的下一行覆盖至模式空间
N:读取匹配到的行的下一行追加至模式空间
d: 删除模式空间中的行
D:如果模式空间包含换行符,则删除直到第一个换行符的模式空间中的文本, 并不会读取新的输入行,而使用合成的模式空间重新启动循环。如果模式空间 不包含换行符,则会像发出d命令那样启动正常的新循环
标签:定界,pattern,打印,模式,sed,笔记,Linux,空间,一行 来源: https://blog.51cto.com/13182370/2367480