sed 命令小结

sed : stream editor,逐行处理文本文件,流编辑。
sed 工作模式
每次依次读取文本文件的一行到模式空间pattern space(内存中的一段空间)中,对pattern space里的内容进行相应的处理,处理完毕后再读取下一行处理,直至处理完所有的文本行。
sed 命令格式
sed [OPTIONS] ‘script’ [INPUTFILE] …
script:地址定界、编辑命令
常用选项:
-n:不打印pattern space中的内容到stdout
-e:多点编辑
-i:直接编辑原文件
-f:读取文件里的script,每行一个
-r:使用扩展正则表达式
地址定界:
1、空地址
全文处理
2、单地址
#:表示某一个
/pattern/模式匹配到的行
3、地址范围
#,#
#,+#
#,/pattern1/
/pattern1/,/pattern2/
$:最后一行
4、步长:~
1~2:奇数行
2~2:偶数号
编辑命令
a \text 行后添加文本
i \text 行前添加文本
c \text 替换行文本
s/// 查找替换,常用的自定义分隔符s@@@,s###
替换标记:
g:全局替换
w:保存到文件
p:显示替换好的行
p:显示处理完的行
d:删除相应的行
= 为匹配到的行打印行号
!条件取反
w 保存模式空间匹配到的行到指定的文件
r 读取指定文件中的内容到当前模式匹配到的行后面
高级编辑命令:
h:把模式空间中的内容覆盖保存至保持空间hold space
H:把模式空间中的内容追加到保持空间
g:把保持空间中的内容的内容覆盖保存至模式空间pattern space
G:把保持空间中的内容追加到模式空间
x:把模式空间中的内存与保持空间的内容互换
n:匹配到的行的下一行覆盖保存至模式空间
N:匹配到的行的下一行追加到模式空间
d:删除模式空间中的行
D:删除模式空间中的所有行
示例:

sed -n 'n;p' FILE 显示偶数行
	sed '1!G;h;$!d' FILE 逆序显示文本neir
	sed '$!d' FILE取出最后一行
	sed '$!N;$!D' FILE 取出最后两行
	sed '/^$/d;G' FILE 删除原有的空白行后重新添加一个空白行
	sed ‘n;d’  FILE  显示奇数行
	sed 'G' FILE 在原有的每行下一行添加一个空白行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值