sed 学习笔记

sed是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等

[root@node1 soft]# cat wxl //显示文本内容

my name is wuxinglai 

who  who  what is sed ?

 

 

why don`t study to sed 

 

today is $date and only myself!

 

[root@node1 soft]# sed '2d' wxl //将第二行deleted删去,但实际上文件是没有改变的只能通过重定向改变

my name is wuxinglai 

 

 

why don`t study to sed 

 

today is $date and only myself!

[root@node1 soft]# sed '2,$d' wxl //从第二行到最后一行删去i 

my name is wuxinglai 

[root@node1 soft]# 

[root@node1 soft]# sed '$d' wxl//删除最后一行

[root@node1 soft]# sed '/wuxinglai/'d wxl//删除所有包含wuxinglai的行

[root@node1 soft]# sed 's/wuxinglai/gaoshou/g' wxl //将所有wuxinglai替换gaoshou,如果没有g标记,则只有每行第一个匹配的

[root@node1 soft]# sed -n 's/wuxinglai/gaoshou/s' wxl//只打印已经更改的字段所在行

[root@node1 soft]# sed 's/^my/&localhost/' wxl //在以my为首的字段后加localhost(&)

[root@node1 soft]# sed -n 's/\(wu\)xinglai/\1xiuchun/p' wxl //wu作为保留字段之后的替换成xiuchun

[root@node1 soft]# sed 's#10#100#g' number //将所有10 替换成100

[root@node1 soft]# sed -n '3,/^wuxinglai/p' wxl//打印从第3行开始wuxinglai为首的行

 

 

 

 

你可能感兴趣的:(Shell-sed)