sed实用工具

1. sed

       sed是以行为单位的非交互式编辑器,从通过标准输入或文件获得要处理的输入文本,对指定的行进行逐行处理,然后将结果输出传送到标准输出或文件。

        sed:非交互式模式文本文件编辑器。

        awk:带有C语言格式语法的模式处理语言,以字段为单位。

     [地址范围]/p               显示指定的地址范围

     [地址范围]/d               删除指定的地址范围

     s/pattern1/pattern2/    将行中首次出现的pattern1替换为pattern2

     [地址范围]/s/pattern1/pattern2/         将地址范围内的行中首次出现的pattern1替换为pattern2

     [地址范围]/y/pattern1/pattern2/         将地址范围内任何位于pattern1的字符变更为pattern2位置上的字符

     g                             在所有行启动输入内容匹配的模式

 

 2. sed工作原理

         sed编辑器在一个文件或1个输入中每次只能处理1行并显示到显示器。该命令在vi编辑器中也可以使用,在称为“模式空间”的临时缓冲处理已保存的行。每次处理完临时缓冲的行,该行就传到显示器。结束行处理后,就会从临时缓冲删除,接着读取并处理下一行,然后显示出来。输入文件的最后一行处理完成后就终止sed命令。保存于临时缓冲的每行都要被处理,所以原文件不会被更改或损坏。

3.sed正则表达式的使用

     ^            行首

    $             行尾

    .              匹配1个字符,但newline字符除外

    *              匹配0或0个以上的字符串

    []             匹配括号中任意1个字符

    [^]            不匹配括号内任何字符

    \(..\)     保存匹配的字符

    &              保存可以记忆为替换字符串的检索字符串

    \<              词首

    \>              词尾

    x\{m\}        将x字符重复次数设置为m

    x\{m,\}       至少重复m次

    x\{m,n\}      重复m~n次之间

 

  [qwe@localhost aaa]$ sed -n '/^I/p' rregular                //显示以I开头的行
 I love you   I LOVE YOU
 Iooooooooove you

   [qwe@localhost aaa]$ sed -n '/love/p' rregular          //显示包含love的行
  I love you   I LOVE YOU

  

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值