sed 处理一行,替换 删除

sed option 'action' filename (文件可多个)
option: -i 直接在原文件中修改!
-n 安静模式,默认情况所有数据都会被列出,但-n只有经过动作处理的那一行才被列出(结合p使用)

2. 选项-action

动作:'[n1[,n2]]function'   表示对n1、n2之间的行进行处理!
function: 
    d 删除当前行,sed '2,5d'  删除2~5行
    g 获得内存缓冲区的内容,并替代当前模板块中的文本。配合s使用,否则只替换一行中的第一个!

    a 将后续的字符新增一行到目前的下一行,sed '2a drink tea \(插入多行分隔符) ...' ,添加行
    i  同上,插入到当前的前一行,添加行
    c 替换,用后续的字符串替换n1 , n2之间的行,sed '2,5c No number 2-5'
    s 替换单个词,sed '1,20s/old/new/g' ,使用可参考vi替换,s#可将#作为分隔符(紧跟s)
    p 打印,将选中的行打印出来,通常和sed -n 一起使用,sed -n '5,7p' ,只显示5~7行,
    P   打印第一行!

3. 示例

行首插入字符: sed -i '2s/^/\t/g' file_name        //直接修改源文件
行位插入字符: sed -i 's/$/啥话/g' 123.log

删除指定行:  sed '2d'    ;   sed '3,5'
删除包含test的行: sed '/test/d'

sed -n '5,7p' ,只显示5~7行
sed -n '4p' ,只显示第4行

    sed -n '/Check SGA start/,/Check SGA end/p'       //查找 start<-->end之间的行
    
    sed -n '/a/ {n;p}' test.log       //只打印匹配行的下一行
    sed -n '/^a$/,+1p' test.log     //打印匹配行及下一行

转载于:https://www.cnblogs.com/Desneo/p/7212397.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值