sed工具学习

来源:互联网 发布:录像变脸软件是什么 编辑:程序博客网 时间:2024/06/08 21:03


sed 

-n选项表示不打印所有行,p表示打印匹配行

sed -n '1p' test

sed -n '3,6p' test  打印文件3-6行

/pattern/ 匹配的模式行 ,匹配的模式行敏感大小写,支持正则表达式

sed -n '/abc/p' test

-e 向sed指定多个编辑命令时用到

sed -n -e '/abc/p' -e '/abc/=' test 

-f 调用脚本文件

sed '/file:/a\ new line.' test    /file:/匹配模式行为指定地址 a\后为插入的内容,插入的内容原文本没做改变,只是将结果输出在标准输出上,原始文件没做改变

用脚本的方式追加文本

vi 创建并编辑一个append.sed

输入

#!/bin/sed -f

/file:/a\

We append a new line.\  # '\' 为 换行

We append another line.

更改append.sed权限u+x 

./append.sed test

上面是追加,插入是i\,修改是c\,删除是d ,


sed -n '/\./p'  test\. 转义'.' 匹配'.'模式行

sed -n '$p' test$表示最后一行

sed -n '2,10!p' test!表示取反

sed -n '/seugrid/,$p' test  打印匹配行到最后一行

sed -n '3,/Cercificate/p' test   打印第3行到匹配行


替换文本

s为替换文本符号

g表示全局   g只在每行有多次替换文本的时候起作用,每行只有一个替换文本,带与不带没有意义

p结合-n只打印替换行

w 文件名    表示将输出定向到一个文件

sed 's/Certificate/CERTIFICATE/' test   匹配模式行替换为大写的CERTIFICATE

sed -n 's/seu/njue/2p' test替换第二次出现的替换文本

sed -n 's/seu/njue/w output' test将替换的文本行,写入output

sed -n 's/seu/(&) /pg' test&保存被替换的字符串,(&)=(seu)

sed -n '1,5 w output ' test1-5行保存到新文件output

sed -n '/globus/w output' test匹配行保存到新文件output




原创粉丝点击