sed操作

sed入门

 sed可以替换给给定文本中的字符穿,利用正则表达式进行匹配
 $ sed 's/pattern/replace_string/' file   
 OR
 $ cat file | sed 's/pattern/replace_string/'file 
 使用-i选项,可以将替换结果应用与源文件,或者记住重定向保存文件
 $ sed 's/text/replace/' file > newfile
 $ mv newfile file
 OR
 $ sed -i 's/text/replace/' file 
 每一行第一处符合样式的内容替换掉,如果要替换所有内容,需要在命令尾部加上参数g
 $ sed 's/pattern/replace_string/g' file 
 需要从第N处匹配开始替换是,可以使用/Ng
 $ echo this thisthisthis | sed 's/this/THIS/3g'
 thisthisTHISTHIS
 字符/在sed中作为界定符使用,也可以使用任意的定界符
 sed ‘s:text:replace:g'
 sed 's|text|replace|g'
 定界符出现在样式内部时,必须用前缀转义
 sed 's|te\|xt|replace|g'

 移除空白行
 $ sed '/^$/d' file   /pattern/d会移除匹配样式的行   空白行中,行尾标记紧随者行首标记

 已匹配字符串标记&
 在sed中用&标记匹配样式的字符串,在替换字符串时使用以匹配的内容
 $ echo this is an sample1 | sed 's/\w\+/[&]/g'
 \w\+匹配每一个单词,用[&]替换

 子串匹配标记\1
 $ echo this is digit 7 in a number | sed 's/digit \([0-9]\)/\1/'
 this is 7 in a number
 $ echo seven ETGHT | sed 's/\{[a-z]\+\} \{[A-Z]\+\}/\2 \1'
 ETGHT seven

 组合多个表达式
 利用管道组多个sed命令
 sed 'expression' | sed 'expression'
 等价于
 $ sed 'expression;expression'

 引用
 sed表达式一般用单引号引用,不过也可以使用双引号,双引号会通过对表达式求值再对其进行扩展
 $ text= hello
 $ echo hello world | sed "s/$text/HELLO/"
 HELLO world
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值