=============Sed==================
Sed:是一款流编辑工具,用来对文本进行过滤与替换工作,特别是当你想对几十个配置文件进行统一修改时,你会体会到它的魅力;Sed通过一次仅读取一行内容来对某           些指令进行处理后输出,所以Sed更适合处理大数据文件;Sed通过文件或管道读取文件内容,但它默认并不直接修改源文件,而是将读入的内容复制到缓冲区(模           式空间),然后根据相应的指令对缓冲区中的内容进行处理并输出结果,默认输出至标准输出(即屏幕上);

一:Sed文本过滤工具,针对于行过滤:
      (1)sed -n ‘xxp’
    eg: sed -n ‘1p’ 打印第一行
    sed -n ‘1,3p’ 打印1到3行
    sed -n ‘1~2’ 打印奇数行,从第1行开始,每2行匹配一次操作地址  

                 

        (2)sed -n ‘/^xxx/p’ 打印以xx开头的行
                sed -n ‘/xxx$/p’ 打印以xx结尾的行

                 

         (3)sed -e 可以执行相匹配的多个条件
        sed ‘/^a/p;/^[0-9]/p’ ceshi.sh 可以用封号将多个指令隔开
        eg: sed -e ‘/^a/p’ -e ‘/^[0-9]/p’

                    

           (4) sed -n ‘//=’ 显示所匹配的行号
      eg: sed -n ‘/^a/=’ ceshi.sh

                 

              (5) sed ‘//a ***’ 向匹配的行后追加内容,a后追加内容
       sed ‘//i ****’ 向匹配的行前添加内容,i后为追加内容
         sed ‘2a chehuiwei’ ceshi.sh 在第二行后追加
      sed ‘3i chehuiwei’ ceshi.sh 在第三行前添加
         sed ‘/ONBOOT/c ONBOOT=yes’ test.txt 将包含相关内容的行的内容更改 

                      

         

  (6) sed -n ‘1,3!p’ 取反

          

        (7)sed ‘1,2d’ ceshi.sh 删除1到2行
            sed ‘/^a/d’ ceshi.sh 删除以a开头的行
       sed ‘/^$/d’ ceshi.sh 删除文件中的空白行

                  

  (8) sed ‘s/旧的内容/替换的新内容/g’ ceshi.sh 替换
    sed -n ‘1,2s/旧的内容/替换的新内容/p’ ceshi.sh 将前两行打印出来并替换相关内容
    sed ‘s/旧的内容/替换的新内容/n’ ceshi.sh 当一行中有多个要替换的内容时,n指定替换第几个
    grep -v ^$ ceshi.sh |sed 's/ru[1-3]/\<&\>/1;s/ru[1-3]/\<\/&\>/2' 用&来代替正则表达式匹配的内容

     注意:如果规则表达式或替换字符串中有许多斜杠,则可以在s之后指定一个不同的字符来更改分割符:
    eg: sed -e ‘s:/usr/local:/usr:g’ ceshi.sh 此时:是替换分隔符,sed会将/usr/local替换成/usr,e可加可不加 

                

      

        

  (9)sed -i 文件名称 将更改内容写入文件
      eg: sed -i ‘s/旧的内容/新的内容/g’ ceshi.sh 

           

Sed的使用方法简介的更多相关文章

  1. gawk使用方法简介

    转载:gawk 使用方法简介 - 简书 (jianshu.com) gawk 是最初 Unix 系统上 awk 程序的 GNU 版本.相对于作为流式编辑器的 sed 而言,它提供了更为强大的编程语言特 ...

  2. 网络神器Greasemonkey(油猴子)使用方法简介+脚本分享【转载】

    推荐下,觉得这个方法有用, 今天艾薇百科来介绍一下功能强大的Greasemonkey,俗称"油猴子",Greasemonkey可以自由定制网页,实现你想要的各种功能.堪称" ...

  3. Redis Cluster搭建方法简介22211111

    Redis Cluster搭建方法简介 (2013-05-29 17:08:57) 转载▼       Redis Cluster即Redis的分布式版本,将是Redis继支持Lua脚本之后的又一重磅 ...

  4. Monte Carlo方法简介(转载)

    Monte Carlo方法简介(转载)       今天向大家介绍一下我现在主要做的这个东东. Monte Carlo方法又称为随机抽样技巧或统计实验方法,属于计算数学的一个分支,它是在上世纪四十年代 ...

  5. C#——Marshal.StructureToPtr方法简介

    目录 MarshalStructureToPtr方法简介 功能及位置 语法 参数说明 异常 备注 举例 本博客(http://blog.csdn.net/livelylittlefish)贴出作者(三 ...

  6. TabBarController创建及使用方法简介

    TabBarController创建及使用方法简介 大致讲解一下TabBarController的创建过程: 首先,我们需要一些视图,如创建UIControllerView类型的view1,view2 ...

  7. delphi操作文本文件的方法简介

    delphi操作文本文件的方法简介减小字体 增大字体 作者佚名来源不详发布时间2008-5-31 10:31:16发布人xuedelphi1 文件类型和标准过程       Delphi同Object ...

  8. iOS中常用的四种数据持久化方法简介

    iOS中常用的四种数据持久化方法简介 iOS中的数据持久化方式,基本上有以下四种:属性列表.对象归档.SQLite3和Core Data 1.属性列表涉及到的主要类:NSUserDefaults,一般 ...

  9. jQuery的AJAX方法简介及与其他文件$符号冲突的解决办法

    一.重要的jQuery AJAX方法简介 $.load(url) 从服务器载入数据 $.get(url,callback) 从服务器请求数据,并执行回调函数 $.post(url,data,callb ...

随机推荐

  1. KEGG Pathway Anonatation

    转载于 Original 2017-06-20 liuhui 生信百科 KEGG 数据库中,把功能相似的蛋白质归为同一组,然后标上 KO 号.通过相似性比对,可以为未知功能的蛋白序列注释上 KO 号. ...

  2. 1、svn架设、基本命令

    SVN是Subversion的简称,是一个开放源代码的版本控制系统.是一项十分基础,必须能够熟练使用的工具.Apache网站:https://subversion.apache.org/ 采用C/S模 ...

  3. gridView删除提示框

    实现方法: 双击GridView的OnRowDataBound事件: 在后台的GridView1_RowDataBound()方法添加代码,最后代码如下所示: protected void GridV ...

  4. c++Builder Delphi XML 解析例子

    XMLDocument; Xml.XMLIntf.hpp Xml.XMLDoc.hpp #include "Xml.Win.msxmldom.hpp" XMLDocument控件 ...

  5. 获取用户的相关请求信息, 以及包括请求头 request.environ

    #在index文件中 1. print(type(request)) #看出所属库 2. from django.core.handlers.wsgi import WSGIRequest #查看WS ...

  6. MyBatis 学习记录6 TypeHandler

    主题 因为对MyBatis在JDBC数据和Java对象之间数据转化比较感兴趣,所以就记录并学习一下TypeHandler. 使用场景 如上图所示,观察下接口方法就能明白.TypeHandler主要用于 ...

  7. iOS多线程编程之NSOperation和NSOperationQueue的使用

    前一篇 <iOS多线程编程之NSThread的使用> 介绍三种多线程编程和NSThread的使用,这篇介绍NSOperation的使用. 使用 NSOperation的方式有两种, 一种是 ...

  8. 一个word小技巧

    最近在进行word格式重拍的时候发现了一个有些恶心的事,怎么去匹配文档里面所有的中文呢? 后来通过网络搜索发现了答案,在word中的查找和替换中有一个选项,可以使用通配符进行匹配. 当我们使用 ([一 ...

  9. 通过args数组获取数据

    ----------siwuxie095                     通过 main 方法的 args数组 可以从控制台获取一组字符串数据     如:     package com.s ...

  10. 关于checkbox操作 table

    引入 Validform验证 <script type="text/javascript">          //添加操作       crrTrTdCkId=1;  ...