三剑客之sed

Sed:流编辑器,使用模式空间做匹配,将文件读取到模式空间,根据给的模式做匹配,匹 配到则根据给的sed命令做处理,不匹配则丢弃,sed默认不修改源文件,只对模式空 间中的文件数据做处理,并打印到屏幕上。
这里还是给大家找文件做演示
三剑客之sed

Sed基本用法:
Sed [options] ‘AddressCommand’ file ……
Options:
-n:静默模式,不再默认匹配显示模式空间中的内容
-i:直接修改原文件(建议不使用)
-e script -e script:可以同时执行多个脚本对文件进行处理
-f /path/to/script:使用以写好的脚本对文件进行处理
-r:使用扩展正则表达式
Address:
1、 startline,endline
例:1,100
$:表示最后一行
三剑客之sed
三剑客之sed
2、/regexp/:正则表达式
例:/oot/,匹配oot的行
三剑客之sed
3、/pattern1/,/pattern2/
第一次被pattern1匹配到的行开始,至到第一次被pattern2匹配到的行结束,这中间的所有行
三剑客之sed
4、linenumber:指定的行
三剑客之sed
5,、startline +N :从startline开始,向后的N+1行
三剑客之sed
Command:(d和p选项上面已经演示过,这里就不再做演示了)
d:删除符合条件的行
p:打印符合条件的行
a \string:在指定的行后面追加新行,内容为string
三剑客之sed
i \string:在指定的行前面追加新行,内容为string
三剑客之sed
w file:将符合条件的行保存至指定的文件中
三剑客之sed
r file:将指定的文件内容添加到符合条件的行处
三剑客之sed
三剑客之sed
s/pattern/string/修饰符:查找并替换,默认只替换每行中的第一个被模式匹配到的字符串
三剑客之sed
修饰符: g:全局替换,被匹配到的都替换;i:忽略字符大小写 ;br/>因为将/转义为#,而/又与s///表达式中/相同所以需要用\来转义才可以匹配,而下面的则不需要转义
s///,s###,s@@@:替换与之不同字符串时不需要转义,例如匹配/时替换为#,用s@/@#@g,不需要转义符
三剑客之sed
用与之不同的字符串匹配则不需要转移符
():使用正则表达式的分组,取值\1,\2,\3
&:引用模式匹配到的行,例将文件中love处理完成后尾部家r字符,使用sed ‘s#(l..e)#&r#’ filename
三剑客之sed
看一下是不是所有匹配到oot的单词后面都添加了r字符!
希望可以帮助到大家,谢谢!!!

转载于:https://blog.51cto.com/14132521/2396132

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值