01. sed作用
**更多详细内容参考:**https://www.cnblogs.com/xiaonq/p/11969744.html
1.1 sed作用
sed 命令将当前处理的行读入模式空间进行处理,处理完把结果输出,并清空模式空间。
然后再将下一行读入模式空间进行处理输出,以此类推,直到最后一行。
还有一个暂存空间,可以暂时存放一些处理的数据,但不能直接输出,只能放到模式空间输出。
这两个空间其实就是在内存中初始化的一个内存区域,存放正在处理的数据和临时存放的数据
1.2 sed常用参数
1 2 3 4 5 6 '''常用选项 ''' -n -e -f -i -r
1.3 sed常用命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 '''常用命令 ''' s/regexp/replacement/ p P d D = a \text i \text c \text q r w filename !
1.4 sed常用地址
1 2 3 4 5 6 7 '''常用地址 ''' $ /regexp/ number addr1,addr2 addr1,+N addr1,~N
02.sed常用方法
2.1 sed常用方法
1 2 3 4 nl /etc/passwd | sed '2,5d' nl /etc/passwd | sed '2,5c "new content"' nl /etc/passwd | sed '/root/d' nl /etc/passwd | sed -e '3,$d' -e 's/root/mewusername/'
2.2 sed匹配打印
1 2 3 4 5 6 7 8 9 tail /etc/services |sed -n '/^blp5/p' tail /etc/services |sed -n '1p' tail /etc/services |sed -n '1,3p' seq 10 |sed -n '1~2p' tail /etc/services |sed -n '$p' tail /etc/services |sed -n '$!p' tail /etc/services |sed -n '/^blp5/,/^com/p' tail /etc/services |sed -n '/blp5/,$p' tail /etc/services |sed -n "$a,3p"
2.3 sed匹配删除
1 2 3 4 tail /etc/services |sed '/blp5/d' tail /etc/services |sed '1d' tail /etc/services |sed '1~2d' sed '/^#/d;/^$/d' /etc/nginx/nginx.conf
2.4 sed匹配替换
1 2 3 4 5 6 tail /etc/services |sed 's/blp5/test/' tail /etc/services |sed -n 's/^blp5/test/p' tail /etc/services |sed 's/48049/&.0/' tail /etc/services | sed '1,4s/blp5/test/' tail /etc/services | sed '/48129\/tcp/s/blp5/test/' tail /etc/services |sed -e '1,2d' -e 's/blp5/test/'
2.5 sed添加新内容
1 2 3 i: 匹配行上面添加 a: 匹配航下面添加 c: 将匹配航替换成新内容
1 2 3 4 tail /etc/services |sed '/blp5/i \test' tail /etc/services |sed '/blp5/a \test' tail /etc/services |sed '/blp5/c \test' tail /etc/services |sed '2a \test'
2.6 sed文本操作
1 2 tail /etc/services |sed '/blp5/r a.txt' tail /etc/services |sed '/blp5/w b.txt'
__END__